-
Refactor Pl_QPDFTokenizer
-
Fix test_driver comment
-
If Pl_Flate memory limit is exceeded do not attempt 'finish' processing
-
Guard against 0 byte writes in Pl_Buffer and Pl_String
-
Tidy qpdfjob-remove-annotations example
-
Refactor the creation of unresolved objects
-
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.
-
Prepare for treating indirect references differently depending on whether we are parsing a PDF file (in which case reference to objects not in the xref table are null even if they are in the object cache) or whether parse from user code (in which case an indirect reference can refer to a user created object).
-
Fix writing reals with trailing '.' as JSON (fixes #1261)
-
libtests: include cstdint for GCC 15
-
GCC 15 starts to no longer include this by default, requiring it to be explicitly included. Error message: libtests/cxx11.cc:75:16: error: ‘uint8_t’ was not declared in this scope 75 | check_size<uint8_t>(1, false); | ^~~~~~~ libtests/cxx11.cc:10:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’ 9 | #include <regex> +++ |+#include <cstdint> 10 | #include <type_traits> Signed-off-by: Christopher Fore <csfore@posteo.net>
-
Adjust fuzzer memory limits and refactor Pl_RunLength::decode
-
Buffer output locally. Add qpdf_fuzzer test case.
-
Also, add additional qpdf_fuzzer test case.
-
In QPDFWriter::willFilterStream remember unfilterable streams
-
Refactor xref reconstruction
-
Avoid unnecessary rescanning of lines and repositioning of input file. Limit max size of tokens.
-
Adjust qpdf_fuzzer warnings limit
-
Remove unnecessary use of shared pointers and avoid unnecessary string creation.
-
Avoid writing each space char individually.
-
Mark intentional unsigned integer wrapping in MD5_native::transform and adjust fuzzer memory limits
-
Wrap-around is intentional and generates false positives
-
Update TODO.md
-
Also, remove closed fuzz cases.