-
…y, modify bounds checks, and adjust affected tests.
-
…bounds checks with subscript operator, simplify loop logic, and remove redundant trace.
-
…s`, remove redundant trace, and improve null handling.
-
…move redundant trace, and improve readability.
-
…ems` and `getArrayItem` with `size` and subscript operators, and improve code readability.
-
…ms` and `getArrayItem` with `size` and subscript operators, remove redundant debug traces, and improve readability.
-
…em` with `size` and subscript operators, remove redundant debug traces, simplify loop logic, and improve readability.
-
…` and subscript operators, remove redundant debug traces, and improve code readability.
-
…Items` with subscript operators, introduce `std::cmp` utilities, and remove redundant debug traces.
-
…logic, and replace redundant code with subscript operators.
-
…lify `withinLimits` logic, and improve code readability with subscript operators.
-
…` and `getArrayNItems` with subscript operators for readability and cleaner syntax.
-
…edundant debug traces.
-
…and improve `findInternal` readability.
-
…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.
-
…mplify array traversal, and centralize `empty` checks for improved clarity and efficiency.
-
…ize`, and centralize `empty` checks.
-
…`warn`, streamline condition handling.
-
…or deterministic ID generation (fixes #1235).
-
…ased logic in `setEncryptionMinimumVersion`, and reduce redundancy across `QPDFWriter` methods.
-
Replaced individual compression flags with a unified decode-level parameter for stream filtering. Introduced a helper function to handle filtering conditions, reducing redundancy and improving readability. Removed unused code and updated related tests to reflect these changes.
-
Stream provider logic has been streamlined by removing unnecessary variables and conditional checks. Adjusted handling of mismatched or missing stream lengths to improve code readability and maintainability.
-
Moved stream filter factory logic into `Members::filter_factory` for better encapsulation and maintainability. Removed redundant static filter factory map and improved error handling for invalid stream filter configurations.
-
Moved the filter abbreviation expansion logic from a static map to a new `expand_filter_name` method in `QPDF_Stream::Members`. This simplifies the code, improves maintainability, and consolidates the logic for easier testing and updates.
-
If startxref cannot be found in the last 1024 try finding it in the whole file and check whether it is valid.
-
Split reconstruction into three passes - scanning of input for objects and trailer, insertion of objects into the xref table, and loading the trailer. This allows insertion to take place in the usual reverse order and removes the need for a separate insertReconstructedXrefEntry method. It also allows trailer to be tried from most recent to oldest. Ignore any found trailers without /Root entry.
-
The original test file contains multiple entries with id 0 and offset 0. One entry has been modified such that the id is valid (6). Object streams with invalid offsets are a source of unreproduceable oss-fuzz time-outs.
-
This reverts commit ff2a78f579ebdd06b417e34260a17dba06e71137, reversing changes made to 8f54319f7a6514110f4b05cbbf1cb1c9fc8cb6a0.
-
This reverts commit 0e92cf6bf399249c603c3d0212e898fd29e71fcd, reversing changes made to 7d34b89a69e8e89c098dd373442f7df809c28eff.
-
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.
-
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.
-
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.
-
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.