4622be7f84
We need to dist the repacker fuzzer test items into the tarball, along with the items in graphs/ and sets/. |
||
---|---|---|
.. | ||
fonts | ||
graphs | ||
sets | ||
Makefile.am | ||
README.md | ||
hb-draw-fuzzer.cc | ||
hb-fuzzer.hh | ||
hb-repacker-fuzzer.cc | ||
hb-set-fuzzer.cc | ||
hb-shape-fuzzer.cc | ||
hb-subset-fuzzer.cc | ||
main.cc | ||
meson.build | ||
run-draw-fuzzer-tests.py | ||
run-repacker-fuzzer-tests.py | ||
run-shape-fuzzer-tests.py | ||
run-subset-fuzzer-tests.py |
README.md
To build the fuzzers with libFuzzer to perform actual fuzzing, build with:
CXX=clang++ CXXFLAGS="-fsanitize=address,fuzzer-no-link" meson fuzzbuild --default-library=static -Dfuzzer_ldflags="-fsanitize=address,fuzzer"
ninja -Cfuzzbuild
Then, run the fuzzer like this:
fuzzbuild/test/fuzzing/hb-{shape,draw,subset,set}-fuzzer [-max_len=2048] [CORPUS_DIR]
Where max_len specifies the maximal length of font files to handle. The smaller the faster.
For more details consult the following locations: