-
Change the return type to a std::pair<bool, QPDFObjectHandle> in order to allow a default constructed object handle (which is currently returned to indicate failure) to become a valid object.
-
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.
-
Fix writing reals with trailing '.' as JSON (fixes #1261)
-
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>
-
As a rule, we should avoid conditional compilation is it always causes code paths that are sometimes not even seen lexically by the compiler. Also, we want the actual code being fuzzed to be as close as possible to the real code. Conditional compilation is suitable to handle underlying system differences. Instead, favor configuration using callbacks or other methods that can be triggered in the places where they need to be exercised.
-
Add new Buffer method copy and deprecate copy constructor / assignment operator
-
Also fix accidental Buffer copy in Pl_LZWDecoder::addToTable.