ossfuzz: moving towards the ideal integration #1842

Closed
wants to merge 2 commits into
from

Conversation

Projects
None yet
3 participants
Contributor

cmeister2 commented Aug 29, 2017

  • Start with the basic code from the ossfuzz project.
  • Rewrite fuzz corpora to be binary files full of Type-Length-Value
    data, and write a glue layer in the fuzzing function to convert
    corpora into CURL options.
  • Have supporting functions to generate corpora from existing tests

This still needs integrating into the rest of the build chain properly,
but is built in CI.

Coverage Status

Coverage remained the same at 73.13% when pulling 77eb310 on cmeister2:cmeister2/ossfuzz/fuzzer into 73fa6aa on curl:master.

Coverage Status

Coverage decreased (-0.008%) to 73.122% when pulling 73d7d30 on cmeister2:cmeister2/ossfuzz/fuzzer into 73fa6aa on curl:master.

Coverage Status

Coverage decreased (-0.02%) to 73.111% when pulling 73d7d30 on cmeister2:cmeister2/ossfuzz/fuzzer into 73fa6aa on curl:master.

Coverage Status

Coverage decreased (-0.02%) to 73.112% when pulling 73d7d30 on cmeister2:cmeister2/ossfuzz/fuzzer into 73fa6aa on curl:master.

Contributor

cmeister2 commented Aug 30, 2017

Ok, the few tweaks I made means that this compiles within the Automake system and links to the libraries as expected (mostly this was reinstating the old code and adding some new tweaks to link to $LIB_FUZZING_ENGINE).

tests/fuzz/Makefile.fuzz
@@ -0,0 +1,48 @@
+# Copyright 2017 Google Inc. All Rights Reserved.
@maxdymond

maxdymond Aug 31, 2017

Contributor

From IRC: this file doesn't need to exist anymore now that the Makefile.am works

tests/fuzz/README
+
+(optional) export LIB_FUZZING_ENGINE=<path to libFuzzer.a>
+
+make -f Makefile.fuzz check
@maxdymond

maxdymond Aug 31, 2017

Contributor

Don't need the -f Makefile.fuzz qualifier here now that Automake works

ossfuzz: moving towards the ideal integration
- Start with the basic code from the ossfuzz project.
- Rewrite fuzz corpora to be binary files full of Type-Length-Value
  data, and write a glue layer in the fuzzing function to convert
  corpora into CURL options.
- Have supporting functions to generate corpora from existing tests
- Integrate with Makefile.am

Coverage Status

Coverage decreased (-0.02%) to 73.103% when pulling 7d63d1e on cmeister2:cmeister2/ossfuzz/fuzzer into 222e65f on curl:master.

ossfuzz: additional seed corpora
Create simple seed corpora for:
- FTP
- telnet
- dict
- tftp
- imap
- pop3

based off the tests of the same number.

Coverage Status

Coverage increased (+0.003%) to 73.122% when pulling f7f8c77 on cmeister2:cmeister2/ossfuzz/fuzzer into 222e65f on curl:master.

Contributor

cmeister2 commented Sep 1, 2017

As discussed on IRC, it looks like failures are due to travis issues.

@bagder bagder closed this in 1cf323e Sep 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment