-
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
-
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.
-
In FUTURE make various QPDFObjectHandle methods const
-
Adjust fuzzer warning and memory limits
-
Fix QPDFOutlineDocumentHelper::resolveNamedDest (fixes #1238)
-
Throw damagedFile if max_warnings is exceeded. Change qpdf_fuzzer warnings limit to limit to 500.
-
Tighten page tree checks
-
Add further sanity checks to QPDF::reconstruct_xref
-
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.
-
Run getAllPages as sanity check and throw an exception if too many warnings are generated or no pages are found.
-
Add further sanity check to QPDF::reconstruct_xref
-
Try a limit of 50MB. For very large limits processing time before damage is encountered may exceed oss-fuzz limits. Add further test cases.
-
If reconstruct_xref generates more than 1000 warnings give up because the file is so severely damaged that there is very little point continuing.
-
Add extra sanity check on pages tree