-
In FUTURE make various QPDFObjectHandle methods const
-
Adjust fuzzer warning and memory limits
-
Fix QPDFOutlineDocumentHelper::resolveNamedDest (fixes #1238)
-
Throw damagedFile if max_warnings is exceeded. Change qpdf_fuzzer warnings limit to limit to 500.
-
Handle case where named destination is a dictionary with /D entry. Test case is hand-edited outlines-with-old-root-dests.pdf with modified object 107.
-
Run getAllPages as sanity check and throw an exception if too many warnings are generated or no pages are found.
-
Try a limit of 50MB. For very large limits processing time before damage is encountered may exceed oss-fuzz limits. Add further test cases.
-
If reconstruct_xref generates more than 1000 warnings give up because the file is so severely damaged that there is very little point continuing.
-
Reject non-dictionary Page and Pages objects. Also add additional qpdf_fuzzer test cases.
-
If throw_on_corrupt is set, use a custom implementation of libjeg's emit_message procedure to throw an exception when the first corrupt data warning is encountered.
-
Check that xref table is not empty after recovery. Empty xref tables disable other sanity checks.
-
Fixes oss-fuzz 70055
-
Previous test case was lost in #1221. Test file was created from object-stream.pdf by adding a reference to itself into object stream 1 0.
-
As a rule, we should avoid conditional compilation is it always causes code paths that are sometimes not even seen lexically by the compiler. Also, we want the actual code being fuzzed to be as close as possible to the real code. Conditional compilation is suitable to handle underlying system differences. Instead, favor configuration using callbacks or other methods that can be triggered in the places where they need to be exercised.
-
Invalid entries are created when objects in the stream do not have an existing xref entry.
-
Ensure objects with impossibly large ids are ignored.
-
Add extra fuzz test case and amend memory limit for Pl_DCT.
-
Refine #1225
-
Also, add diagnostic messages in qpdf_fuzzer and additional fuzz test case.
-
Fix #1170
-
In PL_DCT add option to limit the size of uncompressed corrupt data
-
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.
-
Refine handling of severely damaged files
-
Also, apply limit in dct_fuzzer
-
Also add new fuzz test case.
-
Refactor QPDF::parse_xrefEntry