2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-23 03:18:59 +00:00
Commit Graph

3367 Commits

Author SHA1 Message Date
m-holger
6e3b7982db Fix incorrect handling of invalid negative object ids
Fix two errors introduced in #1110 and #1112. Since
#1110, encountering the invalid indirect reference #1110
-2147483648 n R produces an integer underflow which, if
 undetected, immediately trigger a logic error. Since
 #1112, object -1 0 R may be incorrectly identified as
 an earlier generation of itself and deleted,
 invalidating a live iterator.
2024-01-17 10:39:06 +00:00
Jay Berkenbilt
0109e365de ChangeLog from last PR 2024-01-15 11:08:25 -05:00
Jay Berkenbilt
37cf128501 Remove extraneous blank lines 2024-01-15 11:07:49 -05:00
m-holger
dca5927ba0 Tweak Handlers::json_handlers
Use std::vector instead of list and move shared pointers
2024-01-15 15:18:55 +00:00
m-holger
b85a590bc5 Tweak Handlers::beginUnderOverlay and beginPages 2024-01-15 15:03:33 +00:00
m-holger
a41b789995 Add new method JSON::getDictItem 2024-01-15 15:02:52 +00:00
Jay Berkenbilt
7315aa8c9b Prioritize fuzz for JSON and code coverage 2024-01-12 09:03:15 -05:00
Jay Berkenbilt
25e87a9d03 Update TODO-pages from issues #1116 2024-01-12 08:05:22 -05:00
Jay Berkenbilt
ebb10f3256 Fix null pointer issue on array copy 2024-01-12 08:05:22 -05:00
Jay Berkenbilt
2c97aaddd5 Update TODO-pages 2024-01-11 06:13:57 -05:00
Jay Berkenbilt
d339f8ad1a Add non-trivial multiple overlay/underlay tests 2024-01-11 06:13:57 -05:00
Jay Berkenbilt
90a97bf4ef Include filename in verbose output for overlay/underlay 2024-01-11 06:13:57 -05:00
Jay Berkenbilt
5b2e543089 Honor repeated overlay/underlay 2024-01-11 06:13:57 -05:00
Jay Berkenbilt
6cf04b0a88 Allow repetition of overlay/underlay
This is just QPDFJob wiring.
2024-01-11 06:13:57 -05:00
Jay Berkenbilt
0161f62e38 QPDFJob JSON: allow single item in place of array 2024-01-11 06:13:57 -05:00
Jay Berkenbilt
7de0b3f3c0 JSONHandler: add fallback handler support 2024-01-11 06:13:57 -05:00
Jay Berkenbilt
12f7a4461b Handle pages/under/overlay JSON file in begin
...since they have to be handled before other options. It was working
because, in both cases, `file` was alphabetically before the other
keys, but this implementation gives a stronger guarantee.
2024-01-10 16:45:14 -05:00
Jay Berkenbilt
6488b156f7 Fix deleted copy constructors for Config classes 2024-01-10 16:45:14 -05:00
Jay Berkenbilt
0df672049b Remove completed work from TODO-pages 2024-01-10 16:45:14 -05:00
Jay Berkenbilt
1ecdbc1e55 Bump version to 11.9.0 2024-01-10 16:45:13 -05:00
Jay Berkenbilt
9c723aeb56 Allow --file with --overlay and --underlay 2024-01-10 16:44:46 -05:00
Jay Berkenbilt
34f013c1be Allow --file and --range with --pages
Accept --file and --range as named parameters in additional to
allowing positional arguments. This is in preparation for adding
additional flags.
2024-01-10 16:44:17 -05:00
Jay Berkenbilt
20a134826c Fix arg parsing check with --collate
The check for the number of items was in the wrong place.
2024-01-10 06:49:31 -05:00
Jay Berkenbilt
8b0ae8bb99
Merge pull request #1117 from m-holger/sparse
Tune handling of sparse arrays in QPDF_Array
2024-01-10 06:49:10 -05:00
m-holger
5e9de5cd50 Tune handling of sparse arrays in QPDF_Array
Sparse arrays are rare. Dynamically create the variables needed to manage
them only when needed.
2024-01-10 09:36:18 +00:00
Jay Berkenbilt
452e1f5c20 Prepare 11.8.0 release 2024-01-08 10:56:41 -05:00
m-holger
e28625144d Tweak QPDF::getCompressibleObjGens 2024-01-08 10:55:51 -05:00
Jay Berkenbilt
adb866efd3 Fix error from older gcc versions 2024-01-08 10:55:51 -05:00
Jay Berkenbilt
8ba968bd86
Merge pull request #1112 from m-holger/gcog
Tweaks to QPDF::read_xref, removeObject and getCompressibleObjGens
2024-01-08 08:35:18 -05:00
m-holger
8715d6a693 Tweak QPDF::replaceObject 2024-01-08 11:54:33 +00:00
m-holger
5641832e54 Tweak QPDF::read_xref 2024-01-08 11:43:57 +00:00
Jay Berkenbilt
07f6c635a9 Bug fix: treat old generations of reused objects as null 2024-01-07 17:16:14 -05:00
Jay Berkenbilt
1d96af8b9f Revert "Prepare 11.8.0 release"
Holding release to think about recently discovered incorrect handling
of deleted generations.

This reverts commit 162716807c.
2024-01-07 16:13:04 -05:00
Jay Berkenbilt
94b4e900b2 Add better tests for generation > 0 with object streams
This includes an expected failure for a file with a dangling
reference to an old generation.
2024-01-07 16:06:19 -05:00
Jay Berkenbilt
d54bd7b265 Add failing tests to illustrate qpdf's generation bug 2024-01-07 15:22:22 -05:00
Jay Berkenbilt
df61f3a6c6 Improve getCompressibleObjGens fix to handle gen > 0 2024-01-07 15:22:04 -05:00
m-holger
ba477e0b33 Tune QPDF::getCompressibleObjGens
Change set visited to std::vector<bool>
2024-01-07 17:39:40 +00:00
m-holger
6195499598 Tune QPDF::getCompressibleObjGens
Swap front and back, and change queue from list to vector
2024-01-07 16:39:03 +00:00
Jay Berkenbilt
162716807c Prepare 11.8.0 release 2024-01-07 08:55:46 -05:00
Jay Berkenbilt
5c7c58dd8f Minor fixes to release process 2024-01-07 08:54:36 -05:00
Jay Berkenbilt
ebdd41e692 Spell check 2024-01-07 08:54:36 -05:00
Jay Berkenbilt
36dcf10858 Minor clarifications/fixes in TODO-pages 2024-01-07 08:46:25 -05:00
Jay Berkenbilt
77e21f2a7a Fix TODO exclusion in main.yml 2024-01-07 08:42:24 -05:00
Jay Berkenbilt
37bface8a2 Brush up roadmap in TODO.md 2024-01-06 18:45:10 -05:00
Jay Berkenbilt
55b0024899 Format code 2024-01-06 17:23:45 -05:00
Jay Berkenbilt
e50ff67d00 Remove explicit type from PageLabel dictionary
The old code didn't put one there, and it's not really useful. It just
makes the file (trivially) larger.
2024-01-06 17:20:55 -05:00
Jay Berkenbilt
7b3fff15a9 QPDF.cc: remove unused includes 2024-01-06 17:19:16 -05:00
Jay Berkenbilt
2994f9cf4c Attempt to find xref streams during recovery (fixes #1103) 2024-01-06 16:51:03 -05:00
Jay Berkenbilt
8a24287c39 Remove --set-page-labels since it's now done 2024-01-05 17:12:17 -05:00
Jay Berkenbilt
7cac433e2d Implement --set-page-labels and supporting API (fixes #939) 2024-01-05 17:12:12 -05:00