This guide explains how to build, run, and test fuzzers locally using OSS-Fuzz.
Fuzzers and seed generator can be built using make all in this repository.
- Docker
- Python 3
- Git
- Clang
- LLVM
git clone https://github.com/Segwaz/oss-fuzz.git -b libdbmx
cd oss-fuzzpython3 infra/helper.py build_image libmdbxpython3 infra/helper.py build_fuzzers libmdbxpython3 infra/helper.py run_fuzzer libmdbx fuzz_raw_db_formatRun the fuzzer in this directory with the testcase:
./fuzz_raw_db_format crash-XXXXXXYou may need to adjust sanitizers in the Makefile.
Debug output can be seen by setting MDBX_FUZZ_DEBUG in fuzz.h.
Run the seed generator in this directory:
./db_seed_gen [corpus_pathname]Seeds are in ./corpus by default. To integrate with OSS-Fuzz they must be placed in a zip file named <fuzzer_name>_seed_corpus.zip placed in ./fuzz/seed directory.