-
Code failed to allow for QPDF::getCompressibleObjSet deleting objects from the object cache in case of multiple entries for the same object id. Add fuzz test case 68668.
-
Add fuzz case 68377.
-
Tune QPDFWriter
-
Create set without creation of an intermediate vector.
-
This triggers compilation failures with certain C++20 compiler configurations. To avoid this I moved the cast to the loop's body.
-
Use QPDF_Stream::writeStreamJSON. Factor out the json_stream_data == qpdf_sj_file case.
-
(Replacing the temporary implementation from the last commit.)
-
writeStreamJSON is a temporary implementation minimally adapted from getStreamJSON.
-
Provide a custom method to check whether a name is valid utf8. Integrate checking for characters that need to be escaped in JSON.
-
Create an alternative to getJSON to allow an object handle to be written as JSON without the overhead of creating a JSON object.
-
Create a simple utility class for writing JSON to a pipeline.
-
The code accepted values other than /Yes but still used /Yes as the checked value instead of obeying the normal appearance dictionary.
-
A parse error in stream data in which stream data contained a nested object would cause a crash because qpdf was not correctly updating its internal state. Rework the QPDF json reactor to not be sensitive to parse errors in this way.