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
m-holger
9e62e7a6b4
Update .clang-format to require braces after control statements
2024-01-16 12:28:34 +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