-
…r improved clarity and safety. Update related methods and references accordingly.
-
… for improved code readability and maintainability.
-
…isting code used 'last_object_description' and reported the error against a random unrelated object.
-
…ine logic, update calls across codebase, and streamline method implementation.
-
… `QPDFPageDocumentHelper`, consolidate redundant logic, and streamline method calls.
-
…e includes, and streamline page-related logic.
-
…gin`/`end` methods, update calls across codebase, and streamline page handling logic.
-
…che`, update calls, streamline initialization, and enhance assertion usage.
-
…` to `Pages`, update methods to use relocated fields, and streamline cache handling.
-
…::removePage` to use `Pages::erase`, streamline cache handling in `Pages::update_cache`.
-
…ges::all` method, add `Pages::size` and `empty` methods, move `getAllPagesInternal` to private section, streamline encapsulation, and enhance code organization.
-
… to improve code organization.
-
Relocate `Pages` methods to `QPDF::Doc` for improved encapsulation of page-related logic. Adjust all references and methods to use the new placement.
-
Streamline `setLastObjectDescription` usage by consolidating string construction at call sites. Relocate method to the private section to improve encapsulation and restrict access.
-
Relocate `Objects` to `QPDF::Doc` for improved encapsulation of object-related logic. Adjust all relevant methods and references to use the new placement.
-
…otations in page objects - Repair invalid or missing Resources in page object trees with warnings - Remove invalid Annots arrays with warnings - Warn about duplicate annotations - Update test cases and output to reflect new error handling. - Improve robustness for annotation and resource validation.
-
…lize type conversions, and improve clarity across multiple modules.
-
…`warn`, streamline condition handling.
-
After xref reconstruction treat the input file as suspect and apply sanity checks to all subsequent object reads. Remove `in_xref_reconstruction` flag and update references to use `reconstructed_xref` for simplified state management during xref processing. Adjust warnings for invalid dictionary keys in test output.
-
Converted multiple occurrences of `count()` to `contains()` throughout the codebase where the goal was to check key existence in containers. This improves code readability and aligns with modern C++ practices, particularly with C++20, making the intent more explicit and potentially aiding performance.
-
When validating the pages tree after xref recovery do not tree dictionaries as page objects if more than 2 of the following are true: - the dictionary is direct - the /Type entry is missing or is not /Page - the dictionary does not contain a valid /Parent entry - the dictionary does not contain or inherit a valid /MediaBox - the dictionary does not contain or inherit a /Resources dictionary Such dictionaries are very unlikely to be page objects and trying to process them may cause excessive run time and memory usage.
-
Do not copy duplicate pages during xref recovery.
-
In QPDF::getAllPagesInternal include the /Kids array in the visited set for loop detection. Fixes oss-fuzz issue 411312393
-
Except for virtual functions to avoid the need for users to update code.
-
This improves indentation of long strings. This commit also fixes some trailing whitespace in ChangeLog.
-
Provide correct obj_gen.
-
This reverts commit ff2a78f579ebdd06b417e34260a17dba06e71137, reversing changes made to 8f54319f7a6514110f4b05cbbf1cb1c9fc8cb6a0.
-
Ensure QPDF m->all_pages and invalid_page_found are reset if getAllPagesInternal throws an exception. Fixes fuzz case 71624.
-
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.
-
Using search and replace.