Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-04-04 | Allow qpdf to be built on systems without wchar_t (fixes #406) | Jay Berkenbilt | |
2020-04-03 | Remove redundant methods in QUtil | Jay Berkenbilt | |
This was being saved until we had to break ABI. | |||
2020-02-29 | Include header for wcslen (fixes #405) | Jay Berkenbilt | |
2020-01-14 | Pull wmain -> main code from qpdf.cc into QUtil.cc | Jay Berkenbilt | |
2020-01-14 | Add error detection for read_lines_from_file(FILE*) | Jay Berkenbilt | |
2020-01-13 | QUtil::read_lines_from_file: optional EOL preservation | Jay Berkenbilt | |
2020-01-13 | Refactor QUtil::read_lines_from_file | Jay Berkenbilt | |
This commit adds the preserve_eol flags but doesn't implement EOL preservation yet. | |||
2019-11-09 | Allow odd/even modifiers in numeric range (fixes #364) | Jay Berkenbilt | |
2019-08-31 | Add remove_file and rename_file to QUtil | Jay Berkenbilt | |
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 | Add QUtil::read_file_into_memory | Jay Berkenbilt | |
This code was essentially duplicated between test_driver and standalone_fuzz_target_runner. | |||
2019-06-22 | Rename QUtil::strcasecmp to QUtil::str_compare_nocase (fixes #242) | Jay Berkenbilt | |
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-05-16 | Fix Windows memory error (fixes #330) | Jay Berkenbilt | |
2019-04-21 | Support Unicode in filenames (fixes #298) | Jay Berkenbilt | |
2019-03-11 | "_setmode" and "_stricmp" are not available on Borland C++Builder, neither ↵ | Thorsten Schöning | |
the classic one nor newer ones based on CLANG. | |||
2019-01-17 | Add QUtil::possible_repaired_encodings | Jay Berkenbilt | |
2019-01-17 | Add status-reporting transcoders to QUtil | 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-17 | Move remaining existing transcoding to QUtil | Jay Berkenbilt | |
2019-01-11 | Add configure option AVOID_WINDOWS_HANDLE | Jay Berkenbilt | |
If set, we avoid using Windows I/O HANDLE, which is disallowed in some versions of the Windows SDK, such as for Windows phones. QUtil::same_file will always return false in this case. Only applies to Windows builds. | |||
2019-01-06 | Add WinAnsi and MacRoman encoding | Jay Berkenbilt | |
2019-01-06 | Refactor QUtil::utf8_to_ascii | Jay Berkenbilt | |
2019-01-06 | Move utf8_to_utf16 into QUtil | 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-08-14 | New exception class QPDFSystemError (fixes #221) | Jay Berkenbilt | |
2018-06-21 | QUtil::toUTF16 | Jay Berkenbilt | |
2018-02-04 | Fix setLineBuf for bsd (fixes #177) | Jay Berkenbilt | |
Use 0 instead of NULL in a cast. | |||
2018-01-15 | Fixes for clang | Jay Berkenbilt | |
2018-01-14 | Add QUtil::hex_decode | Jay Berkenbilt | |
2018-01-14 | Allow trailing . in numeric token (fixes #165) | Jay Berkenbilt | |
2017-08-29 | Detect integer overflow/underflow | Jay Berkenbilt | |
2017-08-11 | Find xref without PCRE | Jay Berkenbilt | |
2017-08-05 | QUtil::strcasecmp | Jay Berkenbilt | |
2017-07-30 | Allow reading command-line args from files (fixes #16) | Jay Berkenbilt | |
2017-07-30 | Detect input file = output file (fixes #29) | Jay Berkenbilt | |
2017-07-27 | Move lexer helper functions to QUtil | Jay Berkenbilt | |
2017-07-26 | Make windows includes lowercase (fixes #123) | slurdge | |
For cross compiling. | |||
2016-01-24 | C++-Builder supports 64 Bit file functions | Thorsten Schöning | |
The 64 Bit file functions are supported by C++-Builder as well and need to be used, else fseek will error out on larger files than 4 GB like used in the large file test. | |||
2013-12-16 | Remove needless #ifdef _WIN32 from getWhoami | Jay Berkenbilt | |
2013-12-16 | Increase random data provider support | Jay Berkenbilt | |
Add a method to get the current random data provider, and document and test the method for resetting it. | |||
2013-12-14 | Refactor random data generation | Jay Berkenbilt | |
Add new RandomDataProvider object and implement existing random number generation in terms of that. This enables end users to supply their own random data providers. | |||
2013-11-30 | Allow -DNO_GET_ENVIRONMENT to avoid GetEnvironmentVariable | Jay Berkenbilt | |
If NO_GET_ENVIRONMENT is #defined at compile time on Windows, do not call GetEnvironmentVariable. QUtil::get_env will always return false. This option is not available through configure. This was added to support a specific user's requirements to avoid calling GetEnvironmentVariable from the Windows API. Nothing in qpdf outside the test coverage system in qtest relies on QUtil::get_env. | |||
2013-10-18 | Security: replace operator[] with at | Jay Berkenbilt | |
For std::string and std::vector, replace operator[] with at. This was done using an automated process. See README.hardening for details. | |||
2013-10-18 | Security: use a secure random number generator | Jay Berkenbilt | |
If not available, give an error. The user may also configure qpdf to use an insecure random number generator. | |||
2013-10-10 | Security: keep cur_byte pointing into bytes array | Jay Berkenbilt | |