Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-10-27 | Prepare 10.0.2 releaserelease-qpdf-10.0.2 | Jay Berkenbilt | |
2020-10-27 | Improve efficiency of number to string conversion | Jay Berkenbilt | |
2020-10-27 | Revert removal of unreadCh change for performance | Jay Berkenbilt | |
Turns out unreadCh is much more efficient than seek(-1, SEEK_CUR). Update comments and code to reflect this. | |||
2020-10-23 | Avoid merging adjacent tokens when concatenating contents (fixes #444) | Jay Berkenbilt | |
2020-10-22 | Avoid leak by resolving object streams more than once (fuzz issue 23642) | Jay Berkenbilt | |
2020-10-22 | Minor code cleanup | Jay Berkenbilt | |
* Return rather than exiting from realmain in qpdf.cc * Remove extraneous blank line * Don't assign temporary to const reference | |||
2020-10-22 | Handle jpeg library fuzz false positives | Jay Berkenbilt | |
The jpeg library has some assembly code that is missed by the compiler instrumentation used by memory sanitization. There is a runtime environment variable that is used to work around this issue. | |||
2020-10-22 | Check for overflow in page labels (fuzz issue 23599) | Jay Berkenbilt | |
2020-10-22 | Add range_check method to QIntC | Jay Berkenbilt | |
2020-10-22 | Fix loop detection error (fuzz issue 23172) | Jay Berkenbilt | |
2020-10-22 | Obscure bug fix copying foreign streams in special cases (fixes #449) | Jay Berkenbilt | |
Specifically, if a stream had its stream data replaced and had indirect /Filter or /DecodeParms, it would result in non-silent loss of data and/or internal error. | |||
2020-10-21 | Protect numeric conversion against user's locale (fixes #459) | Jay Berkenbilt | |
2020-10-18 | Stop using InputSource::unreadCh | Jay Berkenbilt | |
2020-10-17 | Check integer overflow in resolveObjectsInStream | Dean Scarff | |
Fixes a crash found by fuzzing. | |||
2020-10-17 | Properly detect OPENSSL_IS_BORINGSSL | Dean Scarff | |
OPENSSL_IS_BORINGSSL is not actually set by configure, so it will be undefined until a BoringSSL header is included. Hence the #ifdef logic in QPDFCrypto_openssl.h would usually never apply. This still worked because evp.h transitively included BoringSSL's cipher.h and digest.h, but the latter are the correct (documented) headers. By re-ordering the includes, we can ensure the macro is defined when we use it. Also: fix case in the header guards. | |||
2020-10-17 | Include detailed OpenSSL error messages | Dean Scarff | |
Fixes qpdf/qpdf#450 | |||
2020-10-17 | Replace memchr with manual memory search | James R. Barlow | |
On large files with predominantly \n line endings, memchr(..'\r'..) seems to waste a considerable amount of time searching for a line ending candidate that we don't need. On the Adobe PDF Reference Manual 1.7, this commit is 8x faster at QPDF::processMemoryFile(). | |||
2020-10-17 | fix WindowsCryptProvider fixes #432 | oltolm | |
2020-10-16 | Fix printf formatting for newer msvc | Jay Berkenbilt | |
Use autoconf rather than ifdefs to determine what format string to use for long long. | |||
2020-10-15 | Remove redundant check found by lgtm.com | Jay Berkenbilt | |
2020-04-29 | Write linearization errors to stderr (fixes #438) | Jay Berkenbilt | |
2020-04-16 | Fix warnings reported by -Wshadow=local (fixes #431) | Jay Berkenbilt | |
2020-04-10 | Use more references when iterating | Jay Berkenbilt | |
When possible, use `for (auto&` or `for (auto const&` when iterating using C++-11 style iterators. | |||
2020-04-09 | Prepare 10.0.1 releaserelease-qpdf-10.0.1 | Jay Berkenbilt | |
2020-04-09 | Fix unnecessary copies in auto iter (fixes #426) | Jay Berkenbilt | |
Also switch to colon-style iteration in some cases. Thanks to Dean Scarff for drawing this to my attention after detecting some unnecessary copies with https://clang.llvm.org/extra/clang-tidy/checks/performance-for-range-copy.html | |||
2020-04-09 | Bug fix: getStreamData should on unfilterable stream (fixes #425) | Jay Berkenbilt | |
2020-04-06 | Prepare 10.0.0 release | Jay Berkenbilt | |
2020-04-06 | Don't include <cwchar> if not building with wchar | Jay Berkenbilt | |
2020-04-06 | Delegate random number generation to crypto provider (fixes #418) | Jay Berkenbilt | |
2020-04-06 | Make random data provider code thread-safe | Jay Berkenbilt | |
This uses C++-11 thread-safe static initializers now. | |||
2020-04-06 | Remove QUtil::srandom | Jay Berkenbilt | |
2020-04-06 | Add OpenSSL/BoringSSL crypto provider | Dean Scarff | |
Fixes qpdf/qpdf#417 | |||
2020-04-06 | Allow propagation of errors and retry through StreamDataProvider | Jay Berkenbilt | |
StreamDataProvider::provideStreamData now has a rich enough API for it to effectively proxy to pipeStreamData. | |||
2020-04-05 | JSON: implement pattern keys in schema | Jay Berkenbilt | |
2020-04-04 | Use deterministic assignments for unique_id | Dean Scarff | |
Fixes qpdf/qpdf#419 | |||
2020-04-04 | Allow qpdf to be built on systems without wchar_t (fixes #406) | Jay Berkenbilt | |
2020-04-04 | Avoid potential segfault in warning methods | Jay Berkenbilt | |
2020-04-04 | placeFormXObject: allow control of shrink/expand (fixes #409) | Jay Berkenbilt | |
2020-04-03 | C API: accept any non-zero value as TRUE | Jay Berkenbilt | |
2020-04-03 | Remove redundant methods in QUtil | Jay Berkenbilt | |
This was being saved until we had to break ABI. | |||
2020-04-03 | QPDFPageObjectHelper::placeFormXObject: use std::string const& (fixes #374) | Jay Berkenbilt | |
2020-04-03 | Performance: remove Members indirection for Pipeline | Jay Berkenbilt | |
2020-04-03 | Use an unordered map for SparseOHArray for efficiency | Jay Berkenbilt | |
This was added in C++11. | |||
2020-04-03 | Use auto for iterating over sparse array | Jay Berkenbilt | |
2020-04-03 | Internally use unsafeShallowCopy where we can | Jay Berkenbilt | |
2020-04-03 | Add QPDFObjectHandle::unsafeShallowCopy | Jay Berkenbilt | |
2020-04-03 | Performance: remove indirection through Members for QPDFObject | Jay Berkenbilt | |
2020-04-03 | Performance: remove Members indirection for QPDFObjectHandle | Jay Berkenbilt | |
2020-03-31 | Look in form XObjects when removing unreferenced resources (fixes #373) | Jay Berkenbilt | |
If a page contains a form XObject, also filter the form XObject and remove its unreferenced resources. | |||
2020-03-31 | Refactor QPDFPageObjectHelper::removeUnreferencedResources() | Jay Berkenbilt | |
Refactor removeUnreferencedResources to prepare for filtering form XObjects. |