m-holger
c7a47caf8f
Update copyrights
2025-02-02 22:24:19 +00:00
m-holger
70f7af78e1
Fix QPDFOutlineObjectHelper loop detectection
...
Check for direct outline items.
Fixes oss-fuzz case 389339260.
2025-02-02 21:52:47 +00:00
m-holger
7a2ef59230
In Pl_ASCII85Decoder do not run finish after a runtime_error
...
Fixes oss-fuzz cases 376305073, 389974979 and 391974927.
2025-02-02 21:52:47 +00:00
m-holger
ca3ea2e305
Refine xref reconstruction ( fixes #1335 )
...
When recovering XRef streams, start with the stream with the largest
/Size rather than the largest offset.
Also, if reconstruction fails to find a trailer with a valid /Root entry
search for a root object.
2025-02-02 21:14:08 +00:00
m-holger
aa583f293a
Merge pull request #1340 from m-holger/i1286
...
Change QPDFWriter stream_decode_level default to qpdf_dl_generalized (fixes #1286 )
2025-02-02 21:03:04 +00:00
m-holger
985cdf91e6
CLI reject flags with parameters ( fixes #1329 )
2025-02-01 12:34:57 +00:00
m-holger
e7dcbe93ca
In QPDFWriter::generateID change empty deterministic_id_data to a
...
runtime error
2025-01-31 16:52:31 +00:00
m-holger
718b14008b
Change QPDFWriter stream_decode_level default to qpdf_dl_generalized
...
Also, fix disabling of preserve_encryption to be ignore
stream_decode_level, but disable preserve_encryption if compress_streams is
false.
Fixes #1286
2025-01-31 16:09:07 +00:00
m-holger
ff0affd81d
In QPDFWriter::willFilterStream on runtime error on first attempt retry
...
without filtering
2025-01-31 15:34:02 +00:00
m-holger
642a1110ed
Code tidy QPDFWriter::willFilterStream
2025-01-31 15:34:02 +00:00
Jay Berkenbilt
018cf0eb54
Merge pull request #1284 from cbwoyak/zlib_find_library
...
Use NAMES keyword in find_library call
2025-01-29 07:50:22 -05:00
m-holger
bde5a446ab
Merge pull request #1307 from m-holger/pages
...
Fix QPDF::getAllPagesInternal warning
2025-01-28 15:59:52 +00:00
m-holger
b079859c4c
Merge pull request #1306 from m-holger/foreign
...
Fix QPDF::copyForeignObject warning
2025-01-28 15:58:27 +00:00
Jay Berkenbilt
e571478901
Run generate_auto_jobs with doc typo fixes
2025-01-28 06:52:51 -05:00
m-holger
cc95f4731e
Fix QPDF::copyForeignObject warning
...
Provide correct obj_gen and offset.
2025-01-28 11:01:18 +00:00
m-holger
b7bf9f3d3c
Fix QPDF::getAllPagesInternal warning
...
Provide correct obj_gen.
2025-01-28 10:15:15 +00:00
m-holger
0d5c57c151
Revert "Merge pull request #1272 from m-holger/xref_table"
...
This reverts commit ff2a78f579ebdd06b417e34260a17dba06e71137, reversing
changes made to 8f54319f7a6514110f4b05cbbf1cb1c9fc8cb6a0.
2025-01-16 16:40:08 +00:00
m-holger
f1800410b6
Revert "Merge pull request #1289 from m-holger/fuzz"
...
This reverts commit 0e92cf6bf399249c603c3d0212e898fd29e71fcd, reversing
changes made to 7d34b89a69e8e89c098dd373442f7df809c28eff.
2025-01-16 16:36:48 +00:00
m-holger
efb2e8f613
Revert "Merge pull request #1297 from m-holger/qpdf_objects"
...
This reverts commit c648b9a018105a3c30b3e7f3c5f8a058d3ddd92c, reversing
changes made to 12b67a3227df6b6df3a4f5f098e11cce173ff7d5.
2025-01-16 16:15:11 +00:00
m-holger
4bf09ff1cd
Revert "Merge pull request #1301 from m-holger/typo"
...
This reverts commit 54cf0e519c49e3fb44c7ca1de95a1fffbafc211c, reversing
changes made to c648b9a018105a3c30b3e7f3c5f8a058d3ddd92c.
2025-01-16 16:13:27 +00:00
Jay Berkenbilt
ef9616775e
Fix headers for rijndael.h
2024-12-14 11:02:33 -05:00
m-holger
64e9839710
Validate key length in Pl_AES_PDF constructor
2024-11-08 17:35:28 +00:00
m-holger
1eb5df92f4
Fix gratuitous calls to bad_subsections in Xref_table::subsections
2024-10-25 11:16:45 +01:00
m-holger
acc57ca090
Add QPDF::Objects destructor
...
Also, make obj_cache private and rename to table.
2024-10-09 12:02:34 +01:00
m-holger
336d783325
Move calculations from QPDF::getObjectCount to Objects::next_id
2024-10-09 11:55:29 +01:00
m-holger
113ea4e7ae
Add new method Objects::all
2024-10-09 11:39:44 +01:00
m-holger
9e03dc54cc
Add new method Objects::swap
2024-10-09 11:39:17 +01:00
m-holger
83fc18af09
Add new method Objects::replace
2024-10-09 11:27:40 +01:00
m-holger
6c9903062f
Add new method Objects::get
2024-10-09 11:27:28 +01:00
m-holger
83443c116d
Make ObjCache of inner class of QPDF::Objects and rename to Entry
2024-10-09 11:09:18 +01:00
m-holger
b5a5780019
Make Xref_table an inner class of QPDF::Objects
2024-10-09 09:53:57 +01:00
m-holger
a3f693c8f9
Move private methods in QPDF_objects to QPDF::Objects
2024-10-09 08:58:57 +01:00
m-holger
2015f71c7d
Add new inner class to QPDF::Objects
2024-10-07 14:18:59 +01:00
m-holger
83897e8789
Split QPDF.cc into QPDF.cc and QPDF_objects.cc
...
Move methods responsible for loading or keeping track of objects to
QPDF_objects.cc.
2024-10-07 14:10:18 +01:00
m-holger
9f0cc086b1
Copy QPDF.cc to new QPDF_objects
2024-10-06 17:45:29 +01:00
m-holger
c916dcf973
Add new protected inline method Pipeline::next
...
Also, tidy pipeline constructors and make subclasses final where possible.
2024-10-06 15:10:13 +01:00
m-holger
192525226f
Validate that offsets in object streams are strictly increasing
2024-09-28 00:28:17 +01:00
m-holger
1b6a504d42
Add sanity check for xref stream /Size entry
2024-09-28 00:25:31 +01:00
m-holger
1796365713
Merge branch 'main' into mslichao/capifreebuf
2024-09-27 11:31:55 +01:00
m-holger
50d385c858
Merge pull request #1274 from m-holger/meta
...
Add new commands --remove-metadata and --remove-info
2024-09-27 11:26:34 +01:00
m-holger
0aa6b67eea
In QPDFWordTokenFinder::check limit the token length
...
Tokens longer than the target cannot be a match and therefore there is no
need to read to the end of token.
2024-09-24 01:32:32 +01:00
m-holger
21f176d374
Add sanity check on trailer /Size entry
2024-09-20 15:28:49 +01:00
m-holger
44a1395194
Refactor QPDF::Xref_table::read_entry and read_bad_entry
...
Return results rather than using reference parameters.
Fixes bug in #1272 where parameters were not reinitialized when calling
read_bad_entry from read_entry.
2024-09-20 15:28:34 +01:00
Chao Li(VISION)
f6ae1ff16a
Rename to qpdf_oh_free_buffer
2024-09-20 04:53:32 +00:00
m-holger
06a2d955fc
In QPDFParser add a limit on total number of errors in one object
...
Currently, QPDFParser gives up attempting to parse an object if 5
near-consecutive bad tokens are encountered. Add a limit of a total of 15
bad tokens in a single object before giving up.
2024-09-19 17:28:26 +01:00
Chao Li(VISION)
8c1cde4ec3
Add C API qpdf_free_buffer to release memory allocated by stream data functions
2024-09-19 12:21:49 +00:00
m-holger
cb7180b1ba
Move QPDF::ObjCache::end_before_space etc to Xref_table
...
Also, delay adjustments for compressed objects until needed by
linearization checks.
2024-09-18 10:25:38 +01:00
m-holger
28c13f5492
Refactor Xref_table::subsections
...
Optimistically read subsection headers without reading individual object
entries, assuming that they are 20 bytes long as per the PDF spec. If
problems are encountered, fall back to calling bad_subsections.
2024-09-18 10:25:38 +01:00
m-holger
ad10fa3006
Rename Xref_table::subsections to bad_subsections
2024-09-18 10:25:38 +01:00
m-holger
0f0747b3ae
Refactor QPDF::getXRefTable
2024-09-18 10:25:38 +01:00