-
Fixes oss-fuzz case 394129398. Issue arose from chaining multiple runlength filters and inflating a compressed stream of ~100 bytes to several gigabytes. There is no obvious fix without imposing an arbitrary implementation limit and therefore potentially excluding valid PDF files.
-
Check for direct outline items. Fixes oss-fuzz case 389339260.
-
Fixes oss-fuzz cases 376305073, 389974979 and 391974927.
-
This reverts commit 0e92cf6bf399249c603c3d0212e898fd29e71fcd, reversing changes made to 7d34b89a69e8e89c098dd373442f7df809c28eff.
-
Tokens longer than the target cannot be a match and therefore there is no need to read to the end of token.
-
Fixes fuzz issue 71689.
-
Ensure QPDF m->all_pages and invalid_page_found are reset if getAllPagesInternal throws an exception. Fixes fuzz case 71624.
-
Buffer output locally. Add qpdf_fuzzer test case.
-
Also, add additional qpdf_fuzzer test case.
-
Try a limit of 50MB. For very large limits processing time before damage is encountered may exceed oss-fuzz limits. Add further test cases.
-
Reject non-dictionary Page and Pages objects. Also add additional qpdf_fuzzer test cases.
-
Add test case for oss-fuzz 15471 and 69977a
-
Fixes oss-fuzz 70055
-
Add extra fuzz test case and amend memory limit for Pl_DCT.
-
Also, add diagnostic messages in qpdf_fuzzer and additional fuzz test case.
-
In QPDF::read_xrefEntry add buffer overflow test for first eol character. Overlong f1 or f2 entries consisting only of zeros could cause a buffer overflow. Add fuzz testcase 69913.
-
Also add new fuzz test case.
-
Code failed to allow for QPDF::getCompressibleObjSet deleting objects from the object cache in case of multiple entries for the same object id. Add fuzz test case 68668.
-
Add fuzz case 68377.
-
...as well as some cases generated in CI from earlier attempts at fixing this.
-
Fix two errors introduced in #1110 and #1112. Since #1110, encountering the invalid indirect reference #1110 -2147483648 n R produces an integer underflow which, if undetected, immediately trigger a logic error. Since #1112, object -1 0 R may be incorrectly identified as an earlier generation of itself and deleted, invalidating a live iterator.
-
It is possible to reproduce the failure with this file following the instructions with oss-fuzz, though it does not cause a failure in CI. The failure was introduced in 18c1ffe0df335a46cddbeb96e2cb939d850df9fa.
-
Files are copied into the build area rather than left in the source tree, and the test suite looks for them there. Also remove special case around counting files in the qpdf corpus.
-
Since the introduction of fuzz testing, there has never been a problem found because of a failure of a file in the fuzzer seed corpus. As the fuzzer has found problems, they have been added to the test suite, and that should be adequate to exercise the fuzzers in the tesing environment as well as providing adequate regression testing. Removing these original files shaves many minutes off the builds in CI.
-
When making resources indirect in from_dr, the code was using the wrong owning QPDF, forgetting that from_dr had already been copied using CopyForeignObject.