aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/fuzzers/README.TXT37
-rw-r--r--test/fuzzers/standard_fuzzer.cpp2
2 files changed, 38 insertions, 1 deletions
diff --git a/test/fuzzers/README.TXT b/test/fuzzers/README.TXT
new file mode 100644
index 00000000..9cd6f0ad
--- /dev/null
+++ b/test/fuzzers/README.TXT
@@ -0,0 +1,37 @@
+This directory contain fuzzer main funtions and scripts for the
+Google OSS Fuzz project: https://github.com/google/oss-fuzz/
+
+The main build scripts are in:
+https://github.com/google/oss-fuzz/tree/master/projects/proj4
+and call scripts in this directory.
+
+The list of issues is in:
+https://bugs.chromium.org/p/oss-fuzz/issues/list?q=proj4
+
+- Build standard_fuzzer in a standalone mode:
+
+ $ g++ -g -std=c++11 standard_fuzzer.cpp -o standard_fuzzer -DSTANDALONE ../../src/.libs/libproj.a -lpthread
+
+ Run it:
+ $ ./standard_fuzzer {file_generated_by_oss_fuzz}
+
+- Run locally OSS Fuzz:
+ $ git clone https://github.com/google/oss-fuzz.git
+ $ cd oss-fuzz
+ $ export PROJECT_NAME=proj4
+ $ python infra/helper.py build_image $PROJECT_NAME
+
+ Build fuzzers with the address sanitizer (could use undefined, etc...)
+ $ python infra/helper.py build_fuzzers --sanitizer address $PROJECT_NAME
+
+ Test a particular fuzzer (replace standard_fuzzer by other fuzzers)
+ $ python infra/helper.py run_fuzzer $PROJECT_NAME standard_fuzzer
+
+
+How to deal with issues reported in https://bugs.chromium.org/p/oss-fuzz/issues/list?q=proj4 ?
+
+ 1. Leave a comment in (chromium database) bug entry to indicate that you work on it
+ 2. Work
+ 3. Commit a bug fix with log including "Credit to OSS-Fuzz" and a link to the bugs.chromium.org ticket
+ 4. Add in the bugs.chromium.org ticket a link to the github changeset implementing the fix.
+ 5. Check chromium closed the bug (after one or two days typically)
diff --git a/test/fuzzers/standard_fuzzer.cpp b/test/fuzzers/standard_fuzzer.cpp
index 470d1b1a..de2e2aa8 100644
--- a/test/fuzzers/standard_fuzzer.cpp
+++ b/test/fuzzers/standard_fuzzer.cpp
@@ -37,7 +37,7 @@
#include "proj_api.h"
/* Standalone build:
-g++ -g -std=c++11 standard_fuzzer.cpp -o standard_fuzzer -DSTANDALONE ../src/.libs/libproj.a -lpthread
+g++ -g -std=c++11 standard_fuzzer.cpp -o standard_fuzzer -DSTANDALONE ../../src/.libs/libproj.a -lpthread
*/
extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv);