m-holger
732aab8610
Merge pull request #1222 from m-holger/fuzz2
...
In PL_DCT add option to limit the size of uncompressed corrupt data
2024-06-27 08:20:01 +01:00
m-holger
3d569e2171
Merge pull request #1221 from m-holger/fuzz
...
Refine handling of severely damaged files
2024-06-27 01:18:37 +01:00
m-holger
d83cf43811
In PL_DCT add option to limit the size of uncompressed corrupt data
...
Also, apply limit in dct_fuzzer
2024-06-26 11:57:29 +01:00
m-holger
4a8c821e3e
In QPDF::reconstruct_xref add sanity check for object ids
2024-06-25 15:46:47 +01:00
m-holger
e62973d277
In QPDF check for page tree after reading xref table
...
Also add new fuzz test case.
2024-06-25 15:18:54 +01:00
m-holger
295f62f041
Merge pull request #1170 from m-holger/readxref
...
Refactor QPDF::parse_xrefEntry
2024-06-19 20:08:44 +01:00
m-holger
ce5b864c53
Merge pull request #1201 from m-holger/xref_stream
...
QPDF::processXRefStream
2024-06-18 20:21:39 +01:00
Jay Berkenbilt
5e121c9690
Handle null form field from annotation ( fixes #1189 )
...
A file that has Widget annotations that can't be mapped back to form
fields would crash qpdf json.
2024-06-18 08:51:15 -04:00
Jay Berkenbilt
167057411e
Format code
2024-06-07 08:07:51 -04:00
Jay Berkenbilt
d17f11e721
Make QPDF::updateObjectMaps iterative
2024-06-06 15:22:14 -04:00
m-holger
2b0c2da720
Refactor QPDF::processXRefStream
...
Change the processed Index array to a vector of <first object, number of
entries> pairs.
2024-05-22 18:53:30 +01:00
m-holger
7477ea7828
Add new private method QPDF::processXRefSize
2024-05-22 17:07:42 +01:00
m-holger
f74b28f0d1
Add new private method QPDF::processXRefW
2024-05-22 17:07:37 +01:00
m-holger
0186d60dcf
Add new private method QPDF::processXRefIndex
2024-05-22 17:07:28 +01:00
m-holger
7aa5027bf8
Refactor QPDF::procesXRefStream
...
Add closure damaged to create damagedPDF exceptions.
2024-05-22 17:07:16 +01:00
m-holger
1737902a5e
Refactor QPDF::processXRefStream
...
Tune processing of subsections.
2024-05-21 20:31:52 +01:00
m-holger
f1c774f13f
Refactor QPDF::processXRefStream
...
Tune pointer arithmetic.
2024-05-21 20:31:40 +01:00
m-holger
8cd50e0e3e
Fix QPDF::tableSize
...
Apply temporary fix to deal with fuzz case 68915.
(Error is an integer overflow which would immediately cause a runtime error
as a result of a call to QInitCQIntC::to_size.)
2024-05-21 12:50:19 +01:00
m-holger
6f09069f43
Further refactor QUtil::call_main_from_wmain
2024-05-17 10:31:50 +01:00
m-holger
602d5eb61d
Refactor QUtil::call_main_from_wmain
2024-05-16 23:10:28 +01:00
m-holger
02e89bbe47
Fix bug in QPDFWriter::preserveObjectStreams
...
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.
2024-05-04 10:55:30 +01:00
m-holger
e85b98b7e8
Guard against object id == std::numeric_limits<int> in QPDF::insertReconstructedXrefEntry
2024-04-30 12:38:02 +01:00
m-holger
60c7d594b8
In QPDF::filterCompressedObjects ignore objects not in QPDFWriter tables
...
Add fuzz case 68377.
2024-04-30 10:46:06 +01:00
m-holger
972cbf103d
In QPDF::processXRefStream avoid inserting objed id 0 into the xref table
2024-04-30 10:38:59 +01:00
Jay Berkenbilt
0bb1458f38
Merge pull request #1161 from m-holger/writer
...
Tune QPDFWriter
2024-04-28 14:44:06 -04:00
m-holger
aa2e0d23f0
In QPDFWriter::writeLinearized use object table obj in call to getLinearizedParts
2024-03-08 10:41:24 +00:00
m-holger
97d78c75ff
In QPDFWriter::writeLinearized use object table obj in call to optimize
2024-03-08 10:33:42 +00:00
m-holger
0df0d00c58
Add method QPDF::Writer::getCompressibleObjSet
...
Create set without creation of an intermediate vector.
2024-03-08 10:20:12 +00:00
m-holger
ae00ee6119
Replace QPDF::Writer::getObjectStreamData with getXRefTable
2024-03-08 10:10:31 +00:00
m-holger
ef3a8025fb
In QPDFWriter replace map lenghts with ObjTable new_obj
2024-03-08 10:06:14 +00:00
m-holger
ccad589f7d
In QPDFWriter replace map xref with new ObjTable new_obj
2024-03-08 10:05:57 +00:00
m-holger
47cf4e3a50
In QPDFWriter change object_stream_to_objects to a map of vectors.
2024-03-08 10:04:54 +00:00
m-holger
2fa93e79b4
In QPDFWriter replace map object_to_object_stream with ObjTable obj
2024-03-08 09:59:56 +00:00
m-holger
84e25919cb
In QPDFWriter replace map obj_renumber_no_gen with ObjTable obj
2024-03-08 09:36:47 +00:00
m-holger
8791b5f8d0
In QPDFWriter replace map obj_renumber with a new object table obj
2024-03-08 09:36:22 +00:00
m-holger
72bd486337
Refactor QPDF::parse_xrefEntry
...
Move reading of the entry from read_xrefTable to parse_xrefEntry.
Split parse_xrefEntry into two new methods read_xrefEntry and
read_bad_xrefEntry. read_xrefEntry is optimised for reading
correct entries. To handle incorrect entries it calls read_bad_xrefEntry,
which is largely unchanged from parse_xrefEntry.
2024-03-07 15:33:27 +00:00
Jay Berkenbilt
e9166457fa
Tweak pull request contribution on fixing non-standard basic_string_view
2024-03-03 13:40:59 -05:00
Zoe Clifford
07bc363224
string_view leads to char_traits which is not standard C++ (background in #1024 ).
...
This triggers compilation failures with certain C++20 compiler configurations.
To avoid this I moved the cast to the loop's body.
2024-02-28 13:26:10 -08:00
Jay Berkenbilt
2d402e451c
Format code
2024-02-24 10:29:41 -05:00
Jay Berkenbilt
c1a48ec81d
Documentation fixes for set/remove page labels
2024-02-17 16:13:46 -05:00
Jay Berkenbilt
7bc52c5728
set page labels: detect start page < 1 ( fixes #939 )
2024-02-17 16:13:42 -05:00
Jay Berkenbilt
e362bce8e8
Merge branch 'jw' from #1146 into work
2024-02-17 14:15:48 -05:00
m-holger
413aba5bf2
Add comment to QPDF_Name::writeJSON
2024-02-17 14:58:48 +00:00
m-holger
4f54508f7f
Refactor QPDFJob::doJSONObjects
2024-02-16 15:50:30 +00:00
m-holger
f0bc2f11ef
Expose QPDFObjectHandle::writeJSON
2024-02-16 14:09:28 +00:00
m-holger
c06653c3ab
Refactor QPDF::writeJSON
2024-02-16 12:00:37 +00:00
m-holger
b9bc05356a
Refactor QPDF::writeJSONStream
...
Use QPDF_Stream::writeStreamJSON.
Factor out the json_stream_data == qpdf_sj_file case.
2024-02-16 11:51:10 +00:00
m-holger
b15d0bf6e1
Add new method QPDF_Stream::writeStreamJSON
...
(Replacing the temporary implementation from the last commit.)
2024-02-16 11:37:50 +00:00
m-holger
920e929864
Reimplement QPDF_Stream::getStreamJSON in terms of writeStreamJSON
...
writeStreamJSON is a temporary implementation minimally adapted from
getStreamJSON.
2024-02-16 11:07:20 +00:00
m-holger
9589fad1e5
Reimplement QPDFObjectHandle::getJSON in terms of writeJSON
2024-02-16 11:00:20 +00:00