[HarfBuzz] harfbuzz: Branch 'master'
Behdad Esfahbod
behdad at kemper.freedesktop.org
Thu Nov 5 22:51:19 PST 2015
test/fuzzing/README | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
New commits:
commit 9c9ad214af43685b00f6d8493b7807d6607d4e2d
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Nov 5 22:50:52 2015 -0800
[fuzzer] Add README
https://github.com/behdad/harfbuzz/issues/139#issuecomment-154202645
diff --git a/test/fuzzing/README b/test/fuzzing/README
new file mode 100644
index 0000000..2e537f6
--- /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
More information about the HarfBuzz
mailing list