diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-03-24 13:07:00 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-03-24 13:07:00 +0100 |
| commit | e658bbc00a11ac1599198b148144145ba2917f56 (patch) | |
| tree | 3795acf99b14226c2a0d9f8d3a74d3f732f3422b /test/fuzzers | |
| parent | 36beda51b769f1e61c33d8230a4718b2bdc6fe46 (diff) | |
| download | PROJ-e658bbc00a11ac1599198b148144145ba2917f56.tar.gz PROJ-e658bbc00a11ac1599198b148144145ba2917f56.zip | |
fuzzer: limit input size to avoid useless testing of huge proj strings
Diffstat (limited to 'test/fuzzers')
| -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); |
