Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-02-18 | Add QUtil::path_basename | Jay Berkenbilt | |
2021-02-13 | QUtil::double_to_string: trim trailing zeroes with option to disable | Jay Berkenbilt | |
2021-02-09 | Add QUtil methods for dealing with PDF timestamp strings | Jay Berkenbilt | |
2021-01-24 | Add iterators to name/number tree helpers | Jay Berkenbilt | |
2021-01-24 | Reimplement name and number tree object helpers | Jay Berkenbilt | |
Create a computationally and memory efficient implementation of name and number trees that does binary searches as intended by the data structure rather than loading into a map, which can use a great deal of memory and can be very slow. | |||
2020-11-21 | Handle negative numbers in QIntC::range_check (fuzz issue 26994) | Jay Berkenbilt | |
2020-04-06 | Delegate random number generation to crypto provider (fixes #418) | Jay Berkenbilt | |
2020-04-05 | JSON: implement pattern keys in schema | Jay Berkenbilt | |
2020-04-04 | Allow qpdf to be built on systems without wchar_t (fixes #406) | Jay Berkenbilt | |
2020-01-14 | Pull wmain -> main code from qpdf.cc into QUtil.cc | Jay Berkenbilt | |
2019-11-09 | Allow odd/even modifiers in numeric range (fixes #364) | Jay Berkenbilt | |
2019-11-09 | Run libtests for crypto with all available providers | Jay Berkenbilt | |
If QPDF_CRYPTO_PROVIDER is set, just run the tests for the given provider. This is to support cases of running the entire test suite for each provider. If QPDF_CRYPTO_PROVIDER is not set, run the tests that exercise the cyrpto provider for each available provider. | |||
2019-11-09 | Increase coverage for RC4 testing | Jay Berkenbilt | |
2019-11-09 | See if C++11 features work | Jay Berkenbilt | |
2019-09-17 | Don't assume char is signed in int conversion tests (fixes #361) | Jay Berkenbilt | |
2019-08-31 | Add remove_file and rename_file to QUtil | Jay Berkenbilt | |
2019-08-30 | Add getRefcount to PointerHolder test | Jay Berkenbilt | |
2019-08-18 | SparseOHArray | 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 | 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-21 | Fix bounds error in utf16_to_utf8 conversion | Jay Berkenbilt | |
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 | QUtil: add unsigned int/string functions | Jay Berkenbilt | |
2019-06-21 | New safe type converters in QIntC | Jay Berkenbilt | |
2019-01-27 | Convert pages to form XObjects | Jay Berkenbilt | |
Support conversion of pages to form XObjects and placement of form XObjects on pages. | |||
2019-01-17 | Add QUtil::possible_repaired_encodings | Jay Berkenbilt | |
2019-01-17 | QUtil::analyze_encoding | Jay Berkenbilt | |
2019-01-17 | Bidirectional transcoding for win, mac, pdf, utf8, utf16 | Jay Berkenbilt | |
2019-01-06 | Add WinAnsi and MacRoman encoding | Jay Berkenbilt | |
2019-01-06 | Refactor QUtil::utf8_to_ascii | Jay Berkenbilt | |
2019-01-04 | Add QUtil::utf8_to_ascii | Jay Berkenbilt | |
2018-12-22 | Move numrange code from qpdf.cc to QUtil.cc | Jay Berkenbilt | |
Also move tests to libtests. | |||
2018-12-22 | Add simple JSON serializer | Jay Berkenbilt | |
2018-08-05 | ClosedFileInputSource: add method to keep file open | Jay Berkenbilt | |
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations. | |||
2018-06-22 | Add ClosedFileInputSource | Jay Berkenbilt | |
ClosedFileInputSource is an input source that keeps the file closed when not reading it. | |||
2018-06-21 | QUtil::toUTF16 | Jay Berkenbilt | |
2018-06-21 | Label qutil test output | Jay Berkenbilt | |
2018-03-06 | Pl_Buffer starts in a ready state | Jay Berkenbilt | |
2018-01-14 | Add QUtil::hex_decode | Jay Berkenbilt | |
2018-01-14 | Add Pl_TIFFPredictor | Jay Berkenbilt | |
2018-01-14 | Add signed support to BitStream and BitWriter | Jay Berkenbilt | |
2018-01-14 | Rename png_filter -> predictors | Jay Berkenbilt | |
2017-12-26 | Add tests for new PNG filters | Jay Berkenbilt | |
2017-12-25 | PNG filter test images | Jay Berkenbilt | |
2017-09-08 | Pl_DCT: Use custom source and destination managers (fixes #153) | Jay Berkenbilt | |
Avoid calling jpeg_mem_src and jpeg_mem_dest. The custom destination manager writes to the pipeline in smaller chunks to avoid having the whole image in memory at once. The source manager works directly with the Buffer object. Using customer managers avoids use of memory source and destination managers, which are not present in older versions of libjpeg still in use by some Linux distributions. | |||
2017-08-29 | Detect integer overflow/underflow | Jay Berkenbilt | |
2017-08-21 | Implement Pl_DCT pipeline | Jay Berkenbilt | |
Additional testing is added in later commits to be supported by additional changes in the library. | |||
2017-08-19 | Implement Pl_RunLength pipeline | Jay Berkenbilt | |
2017-08-11 | Remove PCRE | Jay Berkenbilt | |
2017-08-11 | Implement findFirst and findLast in InputSource | Jay Berkenbilt | |
Preparing to refactor some pattern searching code to use these instead of their own memchr loops. This should simplify the code that replaces PCRE. |