-
Move all stream-specific methods to new class qpdf::Stream
-
Except for virtual functions to avoid the need for users to update code.
-
This reverts commit ff2a78f579ebdd06b417e34260a17dba06e71137, reversing changes made to 8f54319f7a6514110f4b05cbbf1cb1c9fc8cb6a0.
-
This reverts commit c648b9a018105a3c30b3e7f3c5f8a058d3ddd92c, reversing changes made to 12b67a3227df6b6df3a4f5f098e11cce173ff7d5.
-
Also, delay adjustments for compressed objects until needed by linearization checks.
-
Temporarily disable 3 specific-bugs tests. Remove 'xref size mismatch' test.
-
Also, when recovering trailer from xref streams, pick the last valid trailer encountered rather than the first.
-
Fix #1242
-
Tidy QPDF_Stream
-
Ensure QPDF m->all_pages and invalid_page_found are reset if getAllPagesInternal throws an exception. Fixes fuzz case 71624.
-
1. Make class final 2. Pass og parameter by value 3. Properly initialize qpdf and og Also, tweak QPDF::replaceObject to allow stream replacement without violating the requirement that streams must always be indirect objects. Also, remove QPDF::reserveStream as it does not do what the name implies and having this as a separate methods does not aid code readability.
-
Create unresolved objects only for objects in the xref table (except during parsing of the xref table). Do not add indirect nulls into the the object cache as the result of a cache miss during a call to getObject except during parsing or creation/updating from JSON. To support this behaviour, add new private methods getObjectForParser and getObjectForJSON. As a result of this change, dangling references are treated as direct nulls rather than indirect nulls.
-
In FUTURE make various QPDFObjectHandle methods const
-
Throw damagedFile if max_warnings is exceeded. Change qpdf_fuzzer warnings limit to limit to 500.
-
Ensure objects with impossibly large ids are ignored.
-
Refactor QPDF::parse_xrefEntry