harfbuzz/test/fuzzing
Qunxin Liu 7fde6ab025 fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49790 2022-08-05 15:10:31 -06:00
..
fonts fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49790 2022-08-05 15:10:31 -06:00
sets
Makefile.am
README.md
hb-draw-fuzzer.cc
hb-fuzzer.hh
hb-set-fuzzer.cc [fuzzer] In 50% of runs don't fail the allocator 2022-07-01 15:25:09 -06:00
hb-shape-fuzzer.cc
hb-subset-fuzzer.cc [fuzzer] In 50% of runs don't fail the allocator 2022-07-01 15:25:09 -06:00
main.cc
meson.build [meson] Require 0.55.0 2021-11-22 03:11:36 +02:00
run-draw-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: