1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00
curl/tests/fuzz
Max Dymond efeb4a3176
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
2017-09-01 11:22:51 +02:00
..
curl_fuzz_data ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
curl_fuzzer.c ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
curl_fuzzer.h ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
generate_corpus.py ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
Makefile.am ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
Makefile.inc ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
README ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
standalone_fuzz_target_runner.c ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00
standalone_fuzz_target_runner.h ossfuzz: moving towards the ideal integration 2017-09-01 11:22:51 +02:00

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 CFLAGS="-fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp"
./configure --disable-shared --enable-debug --enable-maintainer-mode
make -sj

cd tests/fuzz

(optional) export LIB_FUZZING_ENGINE=<path to libFuzzer.a>

make check