HarfBuzz text shaping engine http://harfbuzz.github.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Garret Rieger bdb50f1c6e [repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail. 1 month ago
..
fonts [subset] fix fuzzer found heap use after free in BASE subsetting. 9 months ago
graphs
sets
README.md
hb-draw-fuzzer.cc unused-parameter in test/fuzzing/hb-draw-fuzzer.cc 5 months ago
hb-fuzzer.hh [test] Build with HB_MINI 8 months ago
hb-repacker-fuzzer.cc [repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail. 1 month ago
hb-set-fuzzer.cc
hb-shape-fuzzer.cc
hb-subset-fuzzer.cc
main.cc
meson.build [repacker] Promote repacking API to stable. 1 month ago
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: