-
…, transition `interpretCF` to a class method, and eliminate redundant parameter passing for improved clarity and maintainability.
-
…rs::initialize` and replacing shared pointers with references for improved clarity and maintainability.
-
…t parameter passing, and improve maintainability. Change static functions and QPDF methods to EncryptionData methods.
-
Miscellaneous code modernisation
-
Streamlined method definitions, replaced explicit loop counters with range-based loops, and added `final` specifier to class and methods to ensure overriding restrictions. Simplified constructor and member variable initialization.
-
…ssing to simplify buffer handling
-
…cess for consistency and readability.
-
Refactor object reading logic in `QPDF` for clarity and improved main…
-
Simplify `readObjectAtOffset` by splitting responsibilities into separate functions: `read_object_start` and a streamlined `readObjectAtOffset`. Remove redundant parameters and improve code readability, ensuring better modularity for object reading operations.
-
Extend xref reconstruction sanity checks
-
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.
-
Refactor `Pl_DCT` buffer management to use `std::string` and simplify…
-
…n/decompression logic. Remove redundant `Buffer` class dependency.
-
Apply sanity checks on dangling reference object ids encountered before
-
the xref table has been loaded
-
Improve sanity checks and error handling in `QPDFParser`
-
Enhanced handling of unexpected tokens during xref table reconstruction. Adjusted logic for invalid tokens, ensuring better robustness during PDF parsing of corrupt PDF files.
-
Enhance error handling for unexpected tokens during sanity checks
-
Implemented stricter sanity checks to handle unexpected tokens like array/dictionary close and endobj/endstream more effectively. Improved warning messages and handling of corrupt objects to enhance PDF parsing robustness.
-
Apply sanity checks during xref stream parsing
-
Detect corrupt xref streams early to avoid excessive runtime and memory usage.
-
Fix apparent typo for zopfli enablement
-
Refactor ADBE handling logic in QPDFWriter.
-
Reorganized and cleaned up the logic for managing ADBE entries in the /Extensions dictionary, improving clarity and maintainability. Adjusted object shallow copying to avoid unnecessary copying.
-
Fix startxref recovery
-
Backup and restore the xref table during attempted startxref recovery to avoid corrupt states. Added a guard condition to handle invalid xref entries types, preventing processing of unsupported cases. These changes improve robustness during PDF parsing and recovery.
-
cmake complains when building with -DZOPFLI-ON as opposed to =ON
-
Temporarily rename qpdf_pages_fuzzer to qpdf_page_fuzzer
-
Allow an existing unreproducable case to age out.
-
Pipeline_private.hh should include qpdf/Types.h for qpdf_offset_t
-
Modernize code
-
Replaced raw pointer defaults (e.g., `0`) with `nullptr` for better readability and type-safety. Simplified object initializer syntax using uniform initialization `{}`. These changes enhance code maintainability and ensure modern C++ standards compliance. -
Refactored several classes to use C++11 `final` specifiers for inheritance restrictions and added default member initializations. These changes enhance code clarity, improve safety, and ensure modern coding practices.
-
This change updates all occurrences of `std::endl` to `\n` across various files for improved efficiency and consistency. It reduces unnecessary flushing of output buffers associated with `std::endl` while maintaining the same output format.
-
Refactor code to eliminate redundant `this->` qualifiers, enhancing readability and consistency across the codebase. This modification simplifies member variable access and aligns with modern C++ coding practices.
-
Replaced std::shared_ptr<char> with std::string for passwords in QPDFJob. This simplifies memory management and aligns the implementation with modern C++ standards, improving code readability and maintainability.
-
Replaced shared pointer usage with a plain std::string for passwords in PageSpec to simplify code and enhance readability. Updated relevant logic and function calls to align with this change, removing unnecessary shared pointer management. Updated TODO to reflect completion of this modernization step.
-
Replaced `std::shared_ptr<char>` with `std::string` for password fields to simplify memory management and improve clarity. Updated relevant method implementations and function calls accordingly. This change ensures more straightforward and safer password handling throughout the codebase.