[HarfBuzz] harfbuzz: Branch 'master'

Behdad Esfahbod behdad at kemper.freedesktop.org
Wed Dec 21 02:51:14 UTC 2016


 test/fuzzing/hb-fuzzer.hh |    4 ++++
 test/fuzzing/main.cc      |   21 +++++++++++++++++++++
 2 files changed, 25 insertions(+)

New commits:
commit de14c19d14be90367a1231de56dd347e3f54931c
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Dec 20 20:50:38 2016 -0600

    [fuzzer] Separate main() into a new file

diff --git a/test/fuzzing/hb-fuzzer.hh b/test/fuzzing/hb-fuzzer.hh
new file mode 100644
index 0000000..d0c617e
--- /dev/null
+++ b/test/fuzzing/hb-fuzzer.hh
@@ -0,0 +1,4 @@
+#include <hb.h>
+#include <stddef.h>
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
diff --git a/test/fuzzing/main.cc b/test/fuzzing/main.cc
new file mode 100644
index 0000000..4692f7b
--- /dev/null
+++ b/test/fuzzing/main.cc
@@ -0,0 +1,21 @@
+#include "hb-fuzzer.hh"
+
+#include <iostream>
+#include <iterator>
+#include <fstream>
+#include <assert.h>
+
+std::string FileToString(const std::string &Path) {
+  /* TODO This silently passes if file does not exist.  Fix it! */
+  std::ifstream T(Path.c_str());
+  return std::string((std::istreambuf_iterator<char>(T)),
+                     std::istreambuf_iterator<char>());
+}
+
+int main(int argc, char **argv) {
+  for (int i = 1; i < argc; i++) {
+    std::string s = FileToString(argv[i]);
+    std::cout << argv[i] << std::endl;
+    LLVMFuzzerTestOneInput((const unsigned char*)s.data(), s.size());
+  }
+}


More information about the HarfBuzz mailing list