-
-
Notifications
You must be signed in to change notification settings - Fork 699
Add buffer with args fuzzer #4103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 lcms Run 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_string
andsuffix
.option_string
andsuffix
are appended at the beginning. For example:I started to add new inputs to the seed corpus, but some loaders/savers are still missing