Commit Graph

49 Commits

Author SHA1 Message Date
Tim Rühsen 73b734c364 Fix C89 warnings in fuzz/main.c 2018-12-08 23:38:45 +01:00
Tim Rühsen 6ef129be93 Fix include path in fuzz/main.c 2018-12-08 23:27:28 +01:00
Xavier Claessens ed5f23d69a Meson: Fix srcdir pointing to root source dir instead of current subdir 2018-12-08 12:49:20 -05:00
Xavier Claessens 81a793346e Meson: Fix fuzz test names 2018-12-08 10:11:17 -05:00
Xavier Claessens 13bf8e102e Meson: Fix link of fuzzer tests
libicu is an internal dependency of libpsl, so if an executable
uses libicu directly, linking on libpsl is not enough, it must also
link on libicu.

Closes: #115
2018-12-08 08:12:17 -05:00
Xavier Claessens 77c10beab7 Add initial Meson build system 2018-12-07 09:54:20 -05:00
Chun-wei Fan 9620b13374 fuzz: Skip the tests if fmemopen() is not found
fmemopen() is a function that is only provided with *NIX systems, so we
ought to check for its presence in order to build and run the tests
in fuzz/ fully, otherwise, we just skip the tests.

Also include headers according to how they are found, and add fallbacks
for Visual Studio that do not have stdint.h yet.
2018-04-20 14:46:02 +02:00
Tim Rühsen 43ec750b40 Update copyrights 2018-02-22 10:04:00 +01:00
Tim Rühsen 2e15e597ca Update fuzzer to use PSL_TYPE_NO_STAR_RULE 2018-02-22 09:54:50 +01:00
Tim Rühsen 179ca703b2 Limit CPU wasting on large inputs
Large inputs on psl_registrable_domain() and psl_unregistrable_domain()
suffer from a O(N^2) behavior. This change limits N to avoid excessive
CPU usage.

At the same time we limit the fuzz corpora size to 64k which is far more
then we expect any real life domain to be.

Reported-by: OSS-Fuzz
2018-02-13 15:42:17 +01:00
Dagobert Michelsen 27614b6b35 Remove unconditional setting of GCC-specific flag 2018-01-16 15:56:24 +01:00
Tim Rühsen 4491895e6c Add missing include alloca.h in fuzz/main.c 2017-11-11 15:18:37 +01:00
Tim Rühsen cb5933d981 Fix printf warnings in fuzz/main.c 2017-11-11 15:10:25 +01:00
Tim Rühsen 16bf63a6bf Update corpora from oss-fuzz 2017-09-15 17:49:19 +02:00
Tim Rühsen 0ff626f6b6 Update corpora from oss-fuzz 2017-07-27 11:36:18 +02:00
Tim Rühsen 4abb701b2c Improve fuzz/get_all_corpora 2017-07-27 11:29:29 +02:00
Tim Rühsen 659ee4391e Remove compiler warnings 2017-07-20 11:36:13 +02:00
Tim Rühsen 280c130f73 Add fuzz/git_all_corpora 2017-07-19 15:02:03 +02:00
Tim Rühsen bf0f1cda52 Update fuzzer corpora 2017-07-19 15:01:40 +02:00
Tim Rühsen ecc3914172 Fix link libraries for oss-fuzz static building 2017-07-15 12:31:53 +02:00
Tim Rühsen 083c8c6801 Fix a few C89 issues 2017-07-14 15:53:31 +02:00
Tim Rühsen 1076ec178c Update internal IDNA corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 2cb2266cb1 Update libidn corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 5f1176485e Update libidn2 corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 9015ae5fc0 Update libicu corpora from OSS-Fuzz 2017-07-14 15:53:31 +02:00
Tim Rühsen 3541a7cb80 Update libicu corpora from OSS-Fuzz 2017-07-13 15:50:04 +02:00
Tim Rühsen a6e4703318 Fix oss-fuzz issue #2600 (buffer overflow in libicu code)
Added a reproducer corpus and fixed the broken libicu code.
The buffer overflow could be triggered by psl_load(), psl_load_fp(),
psl_is_public_suffix(), psl_is_public_suffix2(), psl_unregistrable_domain(),
and psl_registrable_domain().
2017-07-13 15:40:58 +02:00
Tim Rühsen 3f03987897 Fix fuzz/ regression tester building 2017-07-13 15:39:46 +02:00
Tim Rühsen 631362d3d0 Fuzz all types of builds (idn2, idn, icu, none) 2017-07-12 15:37:35 +02:00
Tim Rühsen d583db99b8 Update oss-fuzz target for static linking 2017-07-08 18:02:52 +02:00
Tim Rühsen 467f035f0a Add one new corpus for libpsl_load_fuzzer 2017-07-08 12:11:50 +02:00
Tim Rühsen 49c9fade7a Fix fuzz/run-clang.sh for CTRL-C 2017-07-02 21:23:10 +02:00
Tim Rühsen f2b9b2447a Remove C++ settings from fuzz/README.md 2017-07-02 21:11:43 +02:00
Tim Rühsen 5e562e6f3b Update fuzzer corpora and scripts 2017-06-30 19:55:55 +02:00
Tim Rühsen 61824edc3d Add oss-fuzz corpora downloader 2017-06-26 19:55:04 +02:00
Tim Rühsen e20e6f369b Add clang's CFI instrumentation
Add --enable-cfi ./configure option to enable
LLVM/Clang's Control Flow Integrity for builds.

CFI aborts a program upon detecting certain forms of undefined behavior
that can potentially allow attackers to subvert the program’s control flow.
2017-06-19 17:14:29 +02:00
Tim Rühsen d417badedb New corpora for libpsl_load_fuzzer 2017-06-19 10:49:26 +02:00
Tim Rühsen 81737c9260 New OSS-Fuzz corpora for libpsl_load_dafsa_fuzzer 2017-06-19 10:44:20 +02:00
Tim Rühsen f304dbe324 More fuzzer improvements 2017-06-14 12:48:58 +02:00
Tim Rühsen 43f460d4c5 New OSS-Fuzz corpora for libpsl_fuzzer 2017-06-14 11:40:56 +02:00
Tim Rühsen 44db84e6ec More corpora for libpsl_load_dafsa_fuzzer 2017-06-14 10:00:49 +02:00
Tim Rühsen 666c07b364 New fuzz/libpsl_load_fuzzer.c plus corpus directory 2017-06-14 09:49:07 +02:00
Tim Rühsen 6ca1304bd4 Fix libpsl_load_dafsa_fuzzer for libc6 < 2.22 2017-06-14 09:07:54 +02:00
Tim Rühsen 812e887530 New fuzz corpora 2017-06-13 22:17:09 +02:00
Tim Rühsen 896a5e299a Enhance fuzzing 2017-06-13 22:16:14 +02:00
Tim Rühsen e8f083e867 Add function calls to fuzz/libpsl_fuzzer.c 2017-06-12 17:07:54 +02:00
Tim Rühsen 9da4e94c1a Update fuzz/README.md 2017-06-12 17:07:07 +02:00
Tim Rühsen bce2e9acb0 fuzz/fuzzer.h: Add extern 'C' 2017-06-09 20:35:46 +02:00
Tim Rühsen f41c6aaf63 Add fuzzing architecture 2017-06-09 16:27:37 +02:00