Milan Broz
cde7b90735
fuzzing: Build OpenSSL with no-shared options
...
The -static option always disables threads, we want to use no-shared
build option instead.
2022-10-22 10:10:34 +00:00
daniel.zatovic
b380fa7494
CI: Add fuzzer jobs.
2022-10-19 10:07:03 +02:00
Milan Broz
00baa92756
fuzzing: Yet another dependency fix.
...
Previous fix breaks make dist. Let's set dependency
on object file explicitly.
2022-10-14 15:02:03 +02:00
Milan Broz
c464d61995
fuzzing: Fix dependence issue
...
This patch avoids a race when running parallel jobs.
2022-10-14 06:48:32 +00:00
Milan Broz
d05a2a6c99
fuzzing: Force dependence for generated header.
2022-10-10 12:32:10 +02:00
Milan Broz
758a2974f5
fuzzing: Clean up includes.
2022-10-09 12:59:57 +02:00
Milan Broz
4b5e814094
fuzzing: Remove unused code.
...
Also use C comments style in C-only file.
2022-10-09 12:36:52 +02:00
Milan Broz
98f5e0538a
fuzzing: use ftruncate() instead of seeking to end of the file
2022-10-09 12:36:24 +02:00
Milan Broz
f03180d06a
fuzzing: Simplify converters and used common defines for exit code.
2022-10-09 12:36:09 +02:00
Milan Broz
39b94ae530
fuzzing: Simplify plain JSON fuzzer.
2022-10-09 12:35:58 +02:00
Milan Broz
3690d5f532
fuzzing: Simplify proto fuzzer.
2022-10-09 12:35:20 +02:00
Milan Broz
e595940637
fuzzing: LLVMFuzzerTestOneInput must always return 0.
...
Also simplify the fuzzer function.
2022-10-09 12:34:26 +02:00
Milan Broz
dab939c3c9
fuzzing: Fix possible overflow in crypt2_load_fuzz.
...
Fixes OSS-Fuzz 52201.
2022-10-08 20:13:24 +02:00
daniel.zatovic
cc276527c7
fuzzing: Disable assembly in openssl build
...
Sanitizers can not instrument openssl's assembly and wrongly report
buffers from openssl as uninitialized.
2022-10-06 23:23:06 +02:00
Milan Broz
27429daf5d
Fix typo.
2022-10-05 09:49:55 +02:00
Milan Broz
b20821a520
Fuzzing: disable po4a in static library dependence build as it seems to freeze.
2022-10-04 23:42:07 +02:00
Milan Broz
46b465ff2e
Use upstream git for protobuf-mutator as required patches are merged now.
2022-10-04 13:10:36 +02:00
Milan Broz
d8fd9caa6a
Add missing files to Makefile.am (and reformat lists).
2022-10-04 13:00:38 +02:00
daniel.zatovic
dad11f97ce
Copy only selected fuzzers to out directory.
2022-10-04 13:00:33 +02:00
daniel.zatovic
c06e853938
Fix missing prototypes by adding a header file.
2022-10-04 13:00:29 +02:00
daniel.zatovic
c35e4479d5
Update fuzzing README
2022-10-04 13:00:25 +02:00
daniel.zatovic
8585fb29eb
Add dictionary for the plain JSON fuzzer.
2022-10-04 13:00:21 +02:00
daniel.zatovic
97b3926655
Fix potential integer underflow.
2022-10-04 13:00:18 +02:00
Milan Broz
a3f248df9b
Fix some clang++ warnings.
2022-10-04 13:00:15 +02:00
Milan Broz
e1a84607cc
Rework build of fuzzers.
...
- Do not require any libraries installed, download everything
from upstream git, statically compile (use include, libs and pkg-config
from local directory under tests/fuzz).
Script should work both from OSS-Fuzz and locally.
- Do not require local protobuf (only staticallly compiled, see above).
- Add README.md (TBD, still not finished).
- Fix make dist and distcheck.
- Remove common.[ch] as we can use internal function.
This makes fuzzers also C++ only (remove CFLAGS from Makefile).
2022-10-04 13:00:10 +02:00
daniel.zatovic
2f4267ba81
Add plain JSON metadata fuzzing
2022-10-04 12:59:07 +02:00
daniel.zatovic
99e8ee6b7e
Add checks for compiler when building fuzz targets.
2022-10-04 12:59:04 +02:00
daniel.zatovic
f58aff21a9
Add fuzz targets, custom mutator and fuzzing dictionary
2022-10-04 12:58:59 +02:00