2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 10:58:58 +00:00
Commit Graph

3576 Commits

Author SHA1 Message Date
m-holger
7a1ec75ee1 Fix writing reals with trailing '.' as JSON (fixes #1261) 2024-08-06 01:09:48 +01:00
m-holger
2856b288e4
Merge pull request #1258 from m-holger/fuzz
Adjust fuzzer memory limits and refactor Pl_RunLength::decode
2024-08-04 00:28:50 +01:00
m-holger
3bab4cf394 Refactor Pl_RunLength::decode
Buffer output locally.
Add qpdf_fuzzer test case.
2024-08-03 15:52:45 +01:00
m-holger
5edb548148 Reduce Pl_DCT and Pl_Flate memory limits during fuzzing
Also, add additional qpdf_fuzzer test case.
2024-08-03 14:09:31 +01:00
m-holger
34f557a83f
Merge pull request #1257 from m-holger/fuzz
In QPDFWriter::willFilterStream remember unfilterable streams
2024-08-03 01:10:20 +01:00
m-holger
99f3a7b5a3 In QPDFWriter::writeLinearized remember whether streams are filtered 2024-08-02 21:05:17 +01:00
m-holger
634d924986 In QPDFWriter::willFilterStream remember unfilterable streams 2024-08-02 19:23:17 +01:00
m-holger
5940c53fed
Merge pull request #1255 from m-holger/fuzz
Refactor xref reconstruction
2024-07-29 01:04:53 +01:00
m-holger
2bb9e06d1e In qpdf_fuzzer add a memory limit for Pl_Flate 2024-07-28 19:54:38 +01:00
m-holger
bc68003cb3 Add additional qpdf_fuzzer test case 2024-07-28 18:10:02 +01:00
m-holger
aa4f288291 Refactor xref reconstruction
Avoid unnecessary rescanning of lines and repositioning of input file.
Limit max size of tokens.
2024-07-28 18:03:59 +01:00
m-holger
bbe732c015
Merge pull request #1254 from m-holger/fuzz
Adjust qpdf_fuzzer warnings limit
2024-07-28 01:51:54 +01:00
m-holger
f8518d3677 Adjust qpdf_fuzzer warnings limit 2024-07-27 21:18:06 +01:00
m-holger
fa9df75bd4
Merge pull request #1251 from m-holger/fuzz
Mark intentional unsigned integer wrapping in MD5_native::transform and adjust fuzzer memory limits
2024-07-23 00:22:31 +01:00
m-holger
4f694cdfde In qpdf_fuzzer reduce Pl_PNGFilter and Pl_TIFFPredictor memory limits 2024-07-22 13:25:21 +01:00
m-holger
4f16961052 In MD5_native::transform disable sanitizer unsigned integer overflow checks
Wrap-around is intentional and generates false positives
2024-07-22 13:11:07 +01:00
m-holger
b3ab5cd216
Merge pull request #1248 from m-holger/hk
Update TODO.md
2024-07-20 15:21:00 +01:00
m-holger
16fe38b8e3 Update TODO.md with pages tree / fuzz discussions
Also, remove closed fuzz cases.
2024-07-19 15:04:47 +01:00
m-holger
9ce18e41f4
Merge pull request #979 from m-holger/const
In FUTURE make various QPDFObjectHandle methods const
2024-07-19 10:50:08 +01:00
m-holger
5be057caf0
Merge pull request #1247 from m-holger/fuzz
Adjust fuzzer warning and memory limits
2024-07-18 22:24:54 +01:00
m-holger
9ac506509b
Merge pull request #1240 from m-holger/i1238
Fix QPDFOutlineDocumentHelper::resolveNamedDest  (fixes #1238)
2024-07-18 22:24:16 +01:00
m-holger
30e187b458 Rename fuzz test case 2024-07-18 16:50:37 +01:00
m-holger
34729e37e0 Limit memory used by Pl_PNGFilter and Pl_TIFFPredictor during fuzzing 2024-07-18 16:50:30 +01:00
m-holger
fe1fffe8db Change QPDF max_warnings into a hard limit
Throw damagedFile if max_warnings is exceeded. Change qpdf_fuzzer warnings limit to
limit to 500.
2024-07-18 16:50:08 +01:00
m-holger
bcf81a1423
Merge pull request #1242 from m-holger/fuzz
Tighten page tree checks
2024-07-17 00:59:56 +01:00
m-holger
992b7911ce Limit the number of warnings in json_fuzzer before giving up 2024-07-16 15:36:58 +01:00
m-holger
e14e828c3d Add further fuzz tests 2024-07-16 14:52:09 +01:00
m-holger
25e11a444a Throw an exception if the root of the pages tree misses the /Kids array 2024-07-16 14:44:47 +01:00
m-holger
7f2d76b78d Remove non-dictionary objects from pages tree 2024-07-16 14:35:32 +01:00
m-holger
01353e114f
Merge pull request #1241 from m-holger/fuzz
Add further sanity checks to QPDF::reconstruct_xref
2024-07-14 23:40:29 +01:00
m-holger
f3cbaafcac Fix QPDFOutlineDocumentHelper::resolveNamedDest (fixes #1238)
Handle case where named destination is a dictionary with /D entry.

Test case is hand-edited outlines-with-old-root-dests.pdf with modified
object 107.
2024-07-14 12:15:45 +01:00
m-holger
186fca6d8d Add further sanity checks to QPDF::reconstruct_xref
Run getAllPages as sanity check and throw an exception if too many
warnings are generated or no pages are found.
2024-07-13 14:51:14 +01:00
m-holger
963574f27f Refactor QPDFOutlineDocumentHelper::resolveNamedDest 2024-07-13 11:34:02 +01:00
m-holger
f4e468b180
Merge pull request #1239 from m-holger/fuzz
Add further sanity check to QPDF::reconstruct_xref
2024-07-12 00:00:20 +01:00
m-holger
722148de3d Further limit size of uncompressed JPEG for fuzzing
Try a  limit of 50MB. For very large limits processing time before
damage is encountered may exceed oss-fuzz limits.
Add further test cases.
2024-07-11 14:32:22 +01:00
m-holger
e914bbbbbc Add further sanity check to QPDF::reconstruct_xref
If reconstruct_xref generates more than 1000 warnings give up because the
file is so severely damaged that there is very little point continuing.
2024-07-11 13:25:07 +01:00
m-holger
205bd6fb61
Merge pull request #1237 from m-holger/fuzz
Add extra sanity check on pages tree
2024-07-11 01:02:27 +01:00
m-holger
c2c1618e08 Add extra sanity check on pages tree
Reject non-dictionary Page and Pages objects.

Also add additional qpdf_fuzzer test cases.
2024-07-10 19:03:23 +01:00
m-holger
1ec5d3daa8
Merge pull request #1236 from m-holger/fuzz
Add additional xref reconstruction sanity checks and fuzz test cases
2024-07-10 00:29:37 +01:00
m-holger
2b6500ea17 In Pl_DCT::decompress refactor handling of corrupt data
If throw_on_corrupt is set, use a custom implementation of libjeg's
emit_message procedure to throw an exception when the first corrupt data
warning is encountered.
2024-07-09 20:55:51 +01:00
m-holger
7172dbd4e0 Add additional fuzzer test cases
Add test case for oss-fuzz 15471 and 69977a
2024-07-09 17:17:10 +01:00
m-holger
2e378d920d Add additional sanity check during xref reconstruction
Check that xref table is not empty after recovery. Empty xref tables
disable other sanity checks.
2024-07-09 17:01:44 +01:00
m-holger
7445e0ac1e Fix QPDF::setSuppressWarnings 2024-07-09 16:38:02 +01:00
m-holger
9ffa201422
Merge pull request #1234 from m-holger/dct_fuzz
Fix Pl_DCT memory limit
2024-07-09 00:46:14 +01:00
m-holger
43004e3399 Fix Pl_DCT memory limit 2024-07-08 13:31:02 +01:00
m-holger
55216955b7
Merge pull request #1233 from m-holger/fuzz
Add qpdf_fuzzer test case
2024-07-08 00:22:51 +01:00
m-holger
e76d668219 Add qpdf_fuzzer test case 2024-07-07 23:58:18 +01:00
m-holger
e9df787132
Merge pull request #1231 from m-holger/fuzz
In QPDF::processXRefIndex check number of objects in subsection is > 0
2024-07-07 00:22:52 +01:00
m-holger
c1cd3ec8a0 In QPDF::processXRefIndex check number of objects in subsection is > 0
Fixes oss-fuzz 70055
2024-07-06 16:09:50 +01:00
m-holger
ce2deaf185
Merge pull request #1230 from m-holger/clean-dct-fuzz-changes
Alternative clean dct fuzz changes
2024-07-06 06:10:27 +01:00