Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-07-14 | TODO: add note to outlines | Jay Berkenbilt | |
2019-07-14 | Update comment in PointerHolder | 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 | Add fuzzers to exercise specific pipeline classes | Jay Berkenbilt | |
2019-06-23 | Update TODO | 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 | TODO updates | Jay Berkenbilt | |
2019-06-23 | Fix typo in manual | Jay Berkenbilt | |
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 | Fix --completion-* args to work from AppImage (fixes #285) | 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 | Try to use pkg-config to find external dependencies (fixes #324) | Jay Berkenbilt | |
2019-06-22 | Override umask on install (fixes #326) | Jay Berkenbilt | |
2019-06-22 | qpdf: exit 3 for linearization warnings without errors (fixes #50) | Jay Berkenbilt | |
2019-06-22 | Start 9.0.0 release notes | Jay Berkenbilt | |
2019-06-22 | ChangeLog: fix errors in previous entries | Jay Berkenbilt | |
2019-06-22 | TODO/README-maintainer cleanup | Jay Berkenbilt | |
2019-06-22 | Add fuzz reminder to release checklist | 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. | |||
2019-06-22 | Use clang for sanitizers | Jay Berkenbilt | |
Clang seems to be slightly stricter than gcc. | |||
2019-06-22 | Convert remaining public classes to use Members pattern | Jay Berkenbilt | |
Have classes contain only a single private member of type PointerHolder<Members>. This makes it safe to change the structure of the Members class without breaking binary compatibility. Many of the classes already follow this pattern quite successfully. This brings in the rest of the class that are part of the public API. | |||
2019-06-22 | Build with -fvisibility=hidden when supported | Jay Berkenbilt | |
2019-06-22 | configure: add missing checking messages | Jay Berkenbilt | |
2019-06-22 | Remove unused gcc-linux make rules | Jay Berkenbilt | |
I don't want to maintain them or make anyone think they should be used. | |||
2019-06-22 | Remove broken QPDFTokenizer::expectInlineImage | Jay Berkenbilt | |
2019-06-22 | Remove QPDF::copyForeignObject with unused parameter | Jay Berkenbilt | |
2019-06-22 | Rename QUtil::strcasecmp to QUtil::str_compare_nocase (fixes #242) | Jay Berkenbilt | |
2019-06-22 | Fix up TODO for ABI changes | Jay Berkenbilt | |
2019-06-22 | Add missing #include <cstring> | Jay Berkenbilt | |
2019-06-22 | Mention QIntC in README-Maintainer | Jay Berkenbilt | |
2019-06-21 | Update qpdf_fuzzer to increase coverage | Jay Berkenbilt | |
2019-06-21 | Fix bugs found by fuzz tests | Jay Berkenbilt | |
* Several assertions in linearization were not always true; change them to run time errors * Handle a few cases of uninitialized objects * Handle pages with no contents when doing form operations * Handle invalid page tree nodes when traversing pages | |||
2019-06-21 | Fix bounds error in utf16_to_utf8 conversion | Jay Berkenbilt | |
2019-06-21 | Clean up fuzzer installation and add test files | Jay Berkenbilt | |
* Create the seed corpus in the build directory * Don't assume all fuzzers share an options file | |||
2019-06-21 | Add smaller image streams file for testing | Jay Berkenbilt | |
2019-06-21 | Re-enable fuzzer testing in Windows | Jay Berkenbilt | |
2019-06-21 | Remove integer type task from TODO | Jay Berkenbilt | |
2019-06-21 | Update casting policy in the documentation | Jay Berkenbilt | |
2019-06-21 | Enable int warnings by default | Jay Berkenbilt | |
Now that there aren't any more... | |||
2019-06-21 | Remove implicit conversion from int/pointer to bool | Jay Berkenbilt | |
This fixes cases of warning C4800 from msvc | |||
2019-06-21 | Fix sign and conversion warnings (major) | Jay Berkenbilt | |
This makes all integer type conversions that have potential data loss explicit with calls that do range checks and raise an exception. After this commit, qpdf builds with no warnings when -Wsign-conversion -Wconversion is used with gcc or clang or when -W3 -Wd4800 is used with MSVC. This significantly reduces the likelihood of potential crashes from bogus integer values. There are some parts of the code that take int when they should take size_t or an offset. Such places would make qpdf not support files with more than 2^31 of something that usually wouldn't be so large. In the event that such a file shows up and is valid, at least qpdf would raise an error in the right spot so the issue could be legitimately addressed rather than failing in some weird way because of a silent overflow condition. | |||
2019-06-21 | Pl_Flate: constructor's out_bufsize is now unsigned int | Jay Berkenbilt | |
This is the type we need for the underlying zlib implementation. | |||
2019-06-21 | Change QPDFObjectHandle::pipeStreamData's encode_flags type | Jay Berkenbilt | |
Change from unsigned long to int since we pass enumerated type values to this field. | |||
2019-06-21 | Add new integer accessors to QPDFObjectHandle | Jay Berkenbilt | |
2019-06-21 | QUtil: add unsigned int/string functions | Jay Berkenbilt | |