[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