-
Temporarily disable 3 specific-bugs tests. Remove 'xref size mismatch' test.
-
Split reconstruction into two passes - scanning of input for objects and insertion of objects into the xref table. This allows insertion to take place in the usual reverse order and removes the need for a separate insert_reconstructed method.
-
Rename to Xref_table::process_section. Process trailer processing subsection entries.
-
Calculate all subsections before reading subsection entries. Duplicates some warnings for the time being.
-
Rename to Xref_table::subsection. Return results instead of using out parameters. Take on responsibility for throwing exception and calculation of offset of first subsection entry.
-
Also, remove redundant clearing of the xref tabl during QPDF destruction.
-
Do not remove object from xref table as this is only required when the the method is called from within QPDF::Xref_table.
-
To be encapsulated later.
-
Also, when recovering trailer from xref streams, pick the last valid trailer encountered rather than the first.
-
Change first xref stream dictionary to point to an invalid root in order to detect failure to recover the last valid trailer.
-
In FUTURE, treat uninitialized object handles as null
-
Adjust fuzzer Pl_Flate memory limits
-
Fixes fuzz issue 71689.
-
Change the return type to a std::pair<bool, QPDFObjectHandle> in order to allow a default constructed object handle (which is currently returned to indicate failure) to become a valid object.
-
Fix handling of hybrid reference files in QPDF::read_xrefTable
-
Fix #1242
-
Fix QPDF::recoverStreamLength
-
Tidy QPDF_Stream
-
Replace some std::shared_ptr parameters with reference parameters
-
Ensure QPDF m->all_pages and invalid_page_found are reset if getAllPagesInternal throws an exception. Fixes fuzz case 71624.