Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2013-04-14 | Run spelling checker | Jay Berkenbilt | |
2013-03-05 | Favor strerror_s and fopen_s on MSVC | Jay Berkenbilt | |
Make remaining calls to fopen and strerror use strerror_s and fopen_s on MSVC. | |||
2013-03-05 | Call QUtil::safe_fopen in place of fopen | Jay Berkenbilt | |
fopen was previuosly called wrapped by QUtil::fopen_wrapper, but QUtil::safe_fopen does this itself, which is less cumbersome. | |||
2013-03-05 | Remove all calls to sprintf | Jay Berkenbilt | |
2013-03-05 | Mark secure CRT warnings with comment | Jay Berkenbilt | |
Put a specific comment marker next to every piece of code that MSVC gives warning 4996 for. This warning is generated for calls to functions that Microsoft considers insecure or deprecated. This change is in preparation for fixing all these cases even though none of them are actually incorrect or insecure as used in qpdf. The comment marker makes them easier to find so they can be fixed in subsequent commits. | |||
2013-03-04 | Rewrite QUtil::int_to_string and QUtil::double_to_string | Jay Berkenbilt | |
Make them safer by avoiding any internal limits and replacing sprintf with std::ostringstream. | |||
2013-03-04 | Remove all old-style casts from C++ code | Jay Berkenbilt | |
2013-03-04 | Replace many calls to sprintf with QUtil::hex_encode | Jay Berkenbilt | |
Add QUtil::hex_encode to encode binary data has a hexadecimal string, and use it in place of sprintf where possible. | |||
2012-12-31 | Add random number functions to QUtil | Jay Berkenbilt | |
2012-07-29 | Fix spelling errors | Jay Berkenbilt | |
2012-06-27 | Rename seek functions in QUtil | Jay Berkenbilt | |