diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2015-11-05 22:50:52 -0800 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2015-11-05 22:50:52 -0800 |
commit | 9c9ad214af43685b00f6d8493b7807d6607d4e2d (patch) | |
tree | 7012adcc34ae0009e46c19e79f30db04681ea91f | |
parent | 6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d (diff) | |
download | harfbuzz_ng-9c9ad214af43685b00f6d8493b7807d6607d4e2d.tar.gz |
[fuzzer] Add README
https://github.com/behdad/harfbuzz/issues/139#issuecomment-154202645
-rw-r--r-- | test/fuzzing/README | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/fuzzing/README b/test/fuzzing/README new file mode 100644 index 000000000..2e537f637 --- /dev/null +++ b/test/fuzzing/README @@ -0,0 +1,21 @@ +In order to build the fuzzer one needs to build HarfBuzz and +harfbuzz/test/fuzzing/hb-fuzzer.cc with: + - Using the most recent Clang + - With -fsanitize=address (or =undefined, or a combination) + - With -fsanitize-coverage=edge[,8bit-counters,trace-cmp] + - With various defines that limit worst case exponential behavior: + * -DHB_MAX_NESTING_LEVEL=3 + - link against libFuzzer + +To run the fuzzer one needs to first obtain a test corpus as a directory +containing interesting fonts. A good starting point is inside +harfbuzz/test/shaping/fonts/fonts/. +Then, run the fuzzer like this: + ./hb-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: + - http://llvm.org/docs/LibFuzzer.html or + - https://github.com/google/libfuzzer-bot/tree/master/harfbuzz + - https://github.com/behdad/harfbuzz/issues/139 |