mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
c73ebb8537
Before merging in the oss-fuzz corpora from Google, there are some changes to the fuzzer. - Add a read corpus script, to display corpus files nicely. - Change the behaviour of the fuzzer so that TLV parse failures all now go down the same execution paths, which should reduce the size of the corpora. - Make unknown TLVs a failure to parse, which should decrease the size of the corpora as well. Closes #1881 |
||
---|---|---|
.. | ||
curl_fuzz_data | ||
corpus.py | ||
curl_fuzzer.cc | ||
curl_fuzzer.h | ||
generate_corpus.py | ||
Makefile.am | ||
Makefile.inc | ||
read_corpus.py | ||
README | ||
standalone_fuzz_target_runner.cc | ||
testinput.h |
Fuzz tests ========== The goal is to add tests for *ALL* protocols supported in libcurl. Building the fuzz target ======================== From the CURL root directory: export CC=clang-5.0 export CXX=clang++-5.0 export CFLAGS="-fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp" export CXXFLAGS="-fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp -stdlib=libc++" ./configure --disable-shared --enable-debug --enable-maintainer-mode make -sj cd tests/fuzz (optional) export LIB_FUZZING_ENGINE=<path to libFuzzer.a> make check