Skip to content

Initial integration with google/oss-fuzz

Jonathan Foote requested to merge (removed):master into master

Hello,

As discussed on the team gitter.im chat, this PR implements initial support for continuous fuzzing with google/oss-fuzz. Changes:

  • Removes --with-santize-coverage config flag: the clang6 -fsanitize=fuzzer-no-link flag (and corresponding --with-sanitize-fuzzer knot flag) handle this. Trying to explicitly define coverage flags alongside -fsanitize=fuzzer-no-link flag now causes a linker error.
  • Adds --with-oss-fuzz config flag: links -lFuzzingEngine into fuzz targets (lFuzzingEngine is an abstraction over multiple fuzzers that oss-fuzz supplies and requires us to link with)
  • Adds logic to make check that runs the fuzz targets with a single seed input to ensure they exit successfully

When you have a moment could you review and let me know what you think?

For background, once this is merged (and the oss-fuzz project-approval PR is merged) I'll make another PR to oss-fuzz that will implement the integration (staged here presently).

Thanks, Jon

Merge request reports