Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-10-13 | Prepare 9.0.2 releaserelease-qpdf-9.0.2 | Jay Berkenbilt | |
2019-09-20 | Prepare 9.0.1 release | Jay Berkenbilt | |
2019-09-20 | Correct reversed Rectangle coordinates (fixes #363) | Jay Berkenbilt | |
2019-09-20 | Fix typo in comment | Jay Berkenbilt | |
2019-09-20 | Warn for duplicated dictionary keys (fixes #345) | Jay Berkenbilt | |
2019-09-18 | Fix fuzz issue 16953 (overflow checking in xref stream index) | Jay Berkenbilt | |
2019-09-18 | Fix integer type warnings for big-endian systems | Jay Berkenbilt | |
2019-09-01 | Prepare 9.0.0 releaserelease-qpdf-9.0.0 | Jay Berkenbilt | |
2019-08-31 | Add methods QPDF::anyWarnings and QPDF::closeInputSource | Jay Berkenbilt | |
2019-08-31 | Add remove_file and rename_file to QUtil | Jay Berkenbilt | |
2019-08-29 | Don't encrypt trailer, fixes fuzz issue 15983 | Jay Berkenbilt | |
Ordinarily the trailer doesn't contain any strings, so this is usually a non-issue, but if the trailer contains strings, linearizing and encrypting with object streams would include encrypted strings in the trailer, which would blow out the padding because encrypted strings are longer than their cleartext counterparts. | |||
2019-08-28 | Detect stream in object stream, fixing fuzz 16214 | Jay Berkenbilt | |
It's detected in QPDFWriter instead of at parse time because I can't figure out how to construct a test case in a reasonable time. This commit moves the fuzz file into the regular test suite for a QTC coverage case. | |||
2019-08-28 | Make popping pipeline stack safer | Jay Berkenbilt | |
Use destructors to pop the pipeline stack, and ensure that code that pops the stack is actually popping the intended thing. | |||
2019-08-28 | Fix fuzz issues 15316 and 15390 | Jay Berkenbilt | |
2019-08-27 | Fix fuzz issue 16172 (overflow checking in OffsetInputSource) | Jay Berkenbilt | |
2019-08-27 | Fix fuzz issue 15442 (overflow checking in BufferInputSource) | Jay Berkenbilt | |
2019-08-27 | Seek in two stages to avoid overflow | Jay Berkenbilt | |
When seeing to a position based on a value read from the input, we are prone to integer overflow (fuzz issue 15442). Seek in two stages to move the overflow check into the input source code. | |||
2019-08-27 | Fix fuzz issue 15387 (overflow checking xref size) | Jay Berkenbilt | |
2019-08-26 | Fix fuzz issue 15475 | Jay Berkenbilt | |
2019-08-26 | Fix fuzz issue 16301 | Jay Berkenbilt | |
2019-08-24 | Track separately whether password was user/owner (fixes #159) | Jay Berkenbilt | |
2019-08-24 | Split long line | Jay Berkenbilt | |
2019-08-24 | Add flags to control zlib compression level (fixes #113) | Jay Berkenbilt | |
2019-08-24 | Add ability to set zlib compression level globally | Jay Berkenbilt | |
2019-08-23 | Pass offset and length to ParserCallbacks::handleObject | Jay Berkenbilt | |
2019-08-22 | Test for direct, rather than resolved nulls in parser | Jay Berkenbilt | |
Just because we know an indirect reference is null, doesn't mean we shouldn't keep it indirect. | |||
2019-08-22 | Remove array null flattening | Jay Berkenbilt | |
For some reason, qpdf from the beginning was replacing indirect references to null with literal null in arrays even after removing the old behavior of flattening scalar references. This seems like a bad idea. | |||
2019-08-22 | Protect against coding error of re-entrant parsing | Jay Berkenbilt | |
2019-08-20 | Accept extraneous space before xref (fixes #341) | Jay Berkenbilt | |
2019-08-20 | Accept extraneous space after stream keyword (fixes #329) | Jay Berkenbilt | |
2019-08-20 | Improve invalid name token warning message | Jay Berkenbilt | |
This message used to only appear for PDF >= 1.2. The invalid name is valid for PDF 1.0 and 1.1. However, since QPDFWriter may write a newer version, it's better to detect and warn in all cases. Therefore make the warning more informative. | |||
2019-08-20 | Handle invalid name tokens symmetrically for PDF < 1.2 (fixes #332) | Jay Berkenbilt | |
2019-08-19 | Attempt to repair /Type key in pages nodes (fixes #349) | Jay Berkenbilt | |
2019-08-18 | Improve efficiency of fixDanglingReferences | Jay Berkenbilt | |
2019-08-18 | Shallow copy arrays without removing sparseness | Jay Berkenbilt | |
2019-08-18 | Use SparseOHArray in parsing | Jay Berkenbilt | |
2019-08-18 | Use SparseOHArray in QPDF_Array | Jay Berkenbilt | |
2019-08-18 | Refactor QPDF_Array in preparation for using SparseOHArray | Jay Berkenbilt | |
2019-08-18 | SparseOHArray | Jay Berkenbilt | |
2019-07-04 | Change list to vector for outline helpers (fixes #297) | Thorsten Schöning | |
This change works around STL problems with Embarcadero C++ Builder version 10.2, but std::vector is more common than std::list in qpdf, and this is a relatively new API, so an API change is tolerable. Thanks to Thorsten Schöning <6223655+ams-tschoening@users.noreply.github.com> for the fix. | |||
2019-06-25 | Convert some cases of logic_error to runtime_error | Jay Berkenbilt | |
There were a few cases that could be caused by invalid input rather than bugs in the code which were throwing logic_error instead of runtime_error. | |||
2019-06-25 | Convert previously overlooked static cast to QIntC | Jay Berkenbilt | |
2019-06-23 | Treat all linearization errors as warnings | Jay Berkenbilt | |
This also reverts the addition of a new checkLinearization that distinguishes errors from warnings. There's no practical distinction between what was considered an error and what was considered a warning. | |||
2019-06-23 | Handle invalid encryption Length (fixes #333) | Jay Berkenbilt | |
2019-06-23 | Allow set*EncryptionParameters before filename iset (fixes #336) | Jay Berkenbilt | |
2019-06-22 | Provide error message in Windows crypto code (fixes #286) | Jay Berkenbilt | |
Thanks to github user zdenop for supplying some additional error-handling code. | |||
2019-06-22 | In shippable code, favor smart pointers (fixes #235) | Jay Berkenbilt | |
Use PointerHolder in several places where manually memory allocation and deallocation were being used. This helps to protect against memory leaks when exceptions are thrown in surprising places. | |||
2019-06-22 | qpdf: exit 3 for linearization warnings without errors (fixes #50) | Jay Berkenbilt | |
2019-06-22 | Add QUtil::read_file_into_memory | Jay Berkenbilt | |
This code was essentially duplicated between test_driver and standalone_fuzz_target_runner. | |||
2019-06-22 | QPDFWriter: clean up overloaded functions | Jay Berkenbilt | |
In a small number of cases, it makes sense to replace an overloaded function with a function that takes a default argument. We can do this now because we've already broken binary compatibility since the last release. |