aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/fuzzers/build_google_oss_fuzzers.sh3
-rw-r--r--test/fuzzers/standard_fuzzer.cpp8
2 files changed, 11 insertions, 0 deletions
diff --git a/test/fuzzers/build_google_oss_fuzzers.sh b/test/fuzzers/build_google_oss_fuzzers.sh
index 0cc618b9..b5612204 100755
--- a/test/fuzzers/build_google_oss_fuzzers.sh
+++ b/test/fuzzers/build_google_oss_fuzzers.sh
@@ -32,3 +32,6 @@ build_fuzzer()
}
build_fuzzer standard_fuzzer $(dirname $0)/standard_fuzzer.cpp
+
+echo "[libfuzzer]" > $OUT/standard_fuzzer.options
+echo "max_len = 10000" >> $OUT/standard_fuzzer.options
diff --git a/test/fuzzers/standard_fuzzer.cpp b/test/fuzzers/standard_fuzzer.cpp
index e1c3bbf3..11f8738e 100644
--- a/test/fuzzers/standard_fuzzer.cpp
+++ b/test/fuzzers/standard_fuzzer.cpp
@@ -64,6 +64,14 @@ int LLVMFuzzerInitialize(int* /*argc*/, char*** argv)
int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
{
+ if( len > 1000 )
+ {
+#ifdef STANDALONE
+ fprintf(stderr, "Input too large\n");
+#endif
+ return 0;
+ }
+
/* We expect the blob to be 3 lines: */
/* source proj string\ndestination proj string\nx y */
char* buf_dup = (char*)malloc(len+1);