Add buffer with args fuzzer#4103
Conversation
|
Great idea! I made an attempt to simplify this with commit kleisauke@0c80427. |
|
Thanks Kleis! I've added your commit to this PR |
|
The new fuzzer is still crashing within a couple of seconds when fuzzing locally (with Looks like there is a leak in |
|
FWIW, here are instructions for testing this locally using OSS-Fuzz's Docker images: DetailsApply this patch: --- a/projects/libvips/Dockerfile
+++ b/projects/libvips/Dockerfile
@@ -34,7 +34,7 @@ RUN mkdir afl-testcases
RUN curl https://lcamtuf.coredump.cx/afl/demo/afl_testcases.tgz | tar xzC afl-testcases
RUN mkdir pdfium-latest
RUN curl -L https://github.com/bblanchon/pdfium-binaries/releases/latest/download/pdfium-linux-x64.tgz | tar xzC pdfium-latest
-RUN git clone --depth 1 https://github.com/libvips/libvips.git
+RUN git clone -b add-generic-args-fuzzer --depth 1 https://github.com/dloebl/libvips.git
RUN git clone --depth 1 https://github.com/madler/zlib.git
RUN git clone --depth 1 https://github.com/libexif/libexif.git
RUN git clone --depth 1 https://github.com/mm2/Little-CMS.git lcmsRun the fuzzer for a maximum of 30 minutes: $ python infra/helper.py build_fuzzers libvips > build_log.txt
$ mkdir -p tmp
$ python infra/helper.py run_fuzzer --corpus-dir=$PWD/tmp/ libvips generic_buffer_with_args_fuzzer -- -max_total_time=1800 |
|
Oh.. another leak: I'm not sure yet if it's in vips, libheif or aom. I'll create an issue |
|
The checks should pass again as soon as all the recent fixes have been merged back into master and I rebased this PR. I guess merging 8.15 into master is planned after the next release? |
|
We regularly merge the 8.x branches back into the master branch whenever fixes are made in those branches, see e.g. commit cdea0dd. FWIW, the issue mentioned in #4110 (comment) occurs also frequently on this fuzzer. |
|
... I just ran this fuzzer locally with |
|
Sounds good! I'm still amazed at how many bugs were found already - 6, if I haven't lost count. I'm curious to see what OSS-Fuzz will find once it has been running for a few days |
|
Yes, let's brace ourselves for the oss-fuzz flood. Thank you for doing all this work @dloebl ! |
For reference: #4095
Allows the fuzzer to vary
option_stringandsuffix.option_stringandsuffixare appended at the beginning. For example:I started to add new inputs to the seed corpus, but some loaders/savers are still missing