Commit Diff


commit - ea4bdc8528c8b6c2824909734eb5e82c06464332
commit + 48675d15965288ae50e47772bc8d26eeb1e40d38
blob - /dev/null
blob + 79aac8fda593196448440f59e4374a33ebdb53c7 (mode 644)
--- /dev/null
+++ tests/libfuzzer/Makefile
@@ -0,0 +1,3 @@
+
+build:
+	clang -fsanitize=fuzzer,address sample.cc -o sample
blob - /dev/null
blob + fe614fc9f640f2a75e2d9131fbd53f8bfd9b5165 (mode 644)
--- /dev/null
+++ tests/libfuzzer/README.md
@@ -0,0 +1,5 @@
+## libfuzzer tests
+
+https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/
+
+https://github.com/Dor1s/libfuzzer-workshop/tree/master/lessons/08#generate-coverage-report
blob - /dev/null
blob + 32b0d1b82bbb2a436df8c37fd6f1680dd7d2d4de (mode 644)
--- /dev/null
+++ tests/libfuzzer/sample.cc
@@ -0,0 +1,15 @@
+#include <stdint.h>
+#include <stddef.h>
+
+bool FuzzMe(const uint8_t *Data, size_t DataSize) {
+  return DataSize >= 3 &&
+      Data[0] == 'F' &&
+      Data[1] == 'U' &&
+      Data[2] == 'Z' &&
+      Data[3] == 'Z';  // :‑<
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
+  FuzzMe(Data, Size);
+  return 0;
+}