Index: testing/libfuzzer/fuzzers/libpng_read_fuzzer.cc |
diff --git a/testing/libfuzzer/fuzzers/libpng_read_fuzzer.cc b/testing/libfuzzer/fuzzers/libpng_read_fuzzer.cc |
index 5d6654e25b4af6255d0ab7f0c8c4b96334e6f1c0..8599f4b0c69b58a99f28bfb802221a8dedf90575 100644 |
--- a/testing/libfuzzer/fuzzers/libpng_read_fuzzer.cc |
+++ b/testing/libfuzzer/fuzzers/libpng_read_fuzzer.cc |
@@ -70,7 +70,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { |
return 0; |
} |
- // Reading |
+ // Reading. |
png_read_info(png_ptr, info_ptr); |
png_voidp row = png_malloc(png_ptr, png_get_rowbytes(png_ptr, info_ptr)); |
base::ScopedClosureRunner png_deleter(base::Bind( |
@@ -91,6 +91,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { |
return 0; |
} |
+ // This is going to be too slow. |
+ if (height > 100000000 / width) |
krasin1
2016/03/17 18:25:01
Sorry for not catching up in time, but what if wid
|
+ return 0; |
+ |
int passes = png_set_interlace_handling(png_ptr); |
png_start_read_image(png_ptr); |