-
Fix bug in #1595
-
…t` consistency to handle invalid entries, and improve loop detection logic.
-
Fixes #1532.
-
Fixes bug in #1523
-
Fuzzer was temporarily renamed in #1466 in order to allow a (fixed) time-out to age-out.
-
…dding error counting and leveraging `reconstructed_xref` for improved robustness, limiting the acceptable number of errors for damaged files.
-
Ensure an appearance stream is not shared before generating text appearances, improving error handling and data integrity.
-
Allow an existing unreproducable case to age out.
-
Reject objects containing arrays or dictionaries with more than 5000 elements. We are by definition dealing with damaged files, and such objects are extremely likely to be invalid or malicious.
-
In QPDF::getAllPagesInternal include the /Kids array in the visited set for loop detection. Fixes oss-fuzz issue 411312393
-
Adjusting for under/overflow by repeated incrementing/decrementing can cause excessive runtime with invalid BBox coordinates. Fixes oss-fuzz issue 409905355.
-
#1349 introduced a limit on the maximum size of arrays and dictionaries contained in objects that generate errors during parsing, and #1354 reduced that limit to 5000 objects. However, the limit was only imposed once a further error was encountered. Stop adding objects to containers once the limit is reached. Fixes oss-fuzz issue 398060137
-
If a flate memory limit is set, reject decode parameters that would cause the limit to be exceeded and treat stream as unfilterable. Fixes oss-fuzz issue 394463491
-
Fail if a bad token is encountered while parsing an array or dictionary with more than 100,000 elements. Fixes oss-fuzz case 388571629.
-
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.
-
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.