diff --git a/fuzz/CMakeLists.txt b/fuzz/CMakeLists.txt index fbcba889..944920e0 100644 --- a/fuzz/CMakeLists.txt +++ b/fuzz/CMakeLists.txt @@ -100,6 +100,7 @@ set(CORPUS_OTHER 16953.fuzz 17630.fuzz 17630a.fuzz + 17630b.fuzz 18241.fuzz 18247.fuzz 23172.fuzz diff --git a/fuzz/dct_fuzzer.cc b/fuzz/dct_fuzzer.cc index 2179a377..25a68ea0 100644 --- a/fuzz/dct_fuzzer.cc +++ b/fuzz/dct_fuzzer.cc @@ -30,7 +30,7 @@ FuzzHelper::doChecks() // fuzzing is due to corrupt JPEG data which sometimes cannot be detected before // jpeg_start_decompress is called. During normal use of qpdf very large JPEGs can occasionally // occur legitimately and therefore must be allowed during normal operations. - Pl_DCT::setMemoryLimit(1'000'000'000); + Pl_DCT::setMemoryLimit(200'000'000); // Do not decompress corrupt data. This may cause extended runtime within jpeglib without // exercising additional code paths in qpdf. diff --git a/fuzz/qpdf_extra/17630b.fuzz b/fuzz/qpdf_extra/17630b.fuzz new file mode 100644 index 00000000..78d56cde Binary files /dev/null and b/fuzz/qpdf_extra/17630b.fuzz differ diff --git a/fuzz/qpdf_fuzzer.cc b/fuzz/qpdf_fuzzer.cc index f41933dc..16e175e4 100644 --- a/fuzz/qpdf_fuzzer.cc +++ b/fuzz/qpdf_fuzzer.cc @@ -180,11 +180,11 @@ FuzzHelper::doChecks() // fuzzing is due to corrupt JPEG data which sometimes cannot be detected before // jpeg_start_decompress is called. During normal use of qpdf very large JPEGs can occasionally // occur legitimately and therefore must be allowed during normal operations. - Pl_DCT::setMemoryLimit(1'000'000'000); + Pl_DCT::setMemoryLimit(100'000'000); Pl_PNGFilter::setMemoryLimit(1'000'000); Pl_TIFFPredictor::setMemoryLimit(1'000'000); - Pl_Flate::setMemoryLimit(10'000'000); + Pl_Flate::setMemoryLimit(1'000'000); // Do not decompress corrupt data. This may cause extended runtime within jpeglib without // exercising additional code paths in qpdf, and potentially causing counterproductive timeouts. diff --git a/fuzz/qtest/fuzz.test b/fuzz/qtest/fuzz.test index da6f857b..eb9123b6 100644 --- a/fuzz/qtest/fuzz.test +++ b/fuzz/qtest/fuzz.test @@ -21,7 +21,7 @@ my @fuzzers = ( ['pngpredictor' => 1], ['runlength' => 6], ['tiffpredictor' => 2], - ['qpdf' => 73], # increment when adding new files + ['qpdf' => 74], # increment when adding new files ); my $n_tests = 0;