diff options
Diffstat (limited to 'test')
| -rwxr-xr-x | test/fuzzers/build_google_oss_fuzzers.sh | 3 | ||||
| -rw-r--r-- | test/fuzzers/standard_fuzzer.cpp | 8 |
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); |
