-
Notifications
You must be signed in to change notification settings - Fork 533
Description
Thanks a lot for writing and maintaining a very nice fuzzer!
In Bitcoin Core we encourage our users to fuzz our code using various fuzzers including the excellent Honggfuzz.
These are the quick start instructions we provide at https://github.com/bitcoin/bitcoin/blob/master/doc/fuzzing.md:
$ git clone https://github.com/bitcoin/bitcoin
$ cd bitcoin/
$ ./autogen.sh
$ git clone https://github.com/google/honggfuzz
$ cd honggfuzz/
$ make
$ cd ..
$ CC=$(pwd)/honggfuzz/hfuzz_cc/hfuzz-clang CXX=$(pwd)/honggfuzz/hfuzz_cc/hfuzz-clang++ ./configure --enable-fuzz --with-sanitizers=address,undefined --enable-c++17
$ make
$ mkdir -p inputs/
$ honggfuzz/honggfuzz -i inputs/ -- src/test/fuzz/process_message
These instructions have been working fine up until quite recently when they no longer appear to work when using a fresh honggfuzz compiled from master. (The only thing that has changed on our side is a recent switch to C++17 for the fuzzers, but I assume that is unrelated.)
The error message reported is LLVMFuzzerTestOneInput():38 Define 'int LLVMFuzzerTestOneInput(uint8_t * buf, size_t len)' in your code to make it work, but we do define LLVMFuzzerTestOneInput (and libFuzzer works as expected).
I assume our quick start instructions are incorrect in some way: are we missing something obvious here? :)