Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-04-06 | jplist: Escape characters [0x00..0x1F] when converting to JSON | Nikias Bassen | 1 | -5/+12 | |
2022-04-06 | Skip whitespace to properly detect format in plist_from_memory() | Nikias Bassen | 1 | -3/+8 | |
2022-02-15 | jplist: Fix another OOB read by using correct bounds check | Nikias Bassen | 1 | -1/+1 | |
Credit to OSS-Fuzz | |||||
2022-02-14 | [github-actions] Use windows-2019 instead of windows-latest for now | Nikias Bassen | 1 | -1/+1 | |
Built is failing because of some python mess | |||||
2022-02-11 | jplist: Fix OOB read by using correct bounds check | Nikias Bassen | 1 | -1/+1 | |
Credit to OSS-Fuzz | |||||
2022-02-10 | [github-actions] Windows: Prevent -dirty suffix in version string by ↵ | Nikias Bassen | 2 | -0/+2 | |
disabling CRLF conversion | |||||
2022-02-08 | jplist: Prevent read of uninitialized value by checking the bounds beforehand | Nikias Bassen | 1 | -2/+2 | |
Credit to OSS-Fuzz | |||||
2022-02-07 | cython: Fix Windows build | Nikias Bassen | 1 | -0/+4 | |
2022-02-07 | docs: Fix parameter and type names for doxygen | Nikias Bassen | 1 | -8/+11 | |
2022-02-07 | cython: Fix for LibTool compilation and Python 3 libintl | Rick Mark | 1 | -1/+1 | |
On Python 3.9 `libpython` no longer is linkable as a static library due to the fact that `libpython` now depends on `libintl`. This would mean we would have to import `libintl` to create a fully linked .la It is better to be explicit that we are building a .so (really a .dylib but autotools uses linux file conventions) that doesn't have to be fully resolved. | |||||
2022-02-07 | test: Polish json3.test to not leave temp file after test | Nikias Bassen | 1 | -3/+5 | |
2022-02-07 | Update .gitignore | Nikias Bassen | 1 | -0/+3 | |
2022-02-07 | test: Add int64 min/max testcase for JSON parser | Nikias Bassen | 3 | -2/+24 | |
2022-02-07 | xplist: Prevent undefined behavior by not trying to negate INT64_MIN | Nikias Bassen | 1 | -1/+1 | |
2022-02-07 | jplist: Prevent integer overflow when parsing numerical values | Nikias Bassen | 1 | -6/+29 | |
Credit to OSS-Fuzz | |||||
2022-02-05 | configure: Generate usable version via git-version-gen when ran in shallow clone | Nikias Bassen | 1 | -1/+5 | |
2022-02-03 | jplist: Fix OOB read by making sure number of children is even | Nikias Bassen | 2 | -2/+7 | |
Credit to OSS-Fuzz | |||||
2022-02-02 | configure: Prevent wrong version string generation (e.g. when doing a ↵ | Nikias Bassen | 1 | -1/+1 | |
shallow checkout from git) | |||||
2022-02-02 | jplist: Fix memory leak on parse error | Nikias Bassen | 2 | -0/+3 | |
Credit to OSS-Fuzz | |||||
2022-02-02 | jplist: Improve numerical value parsing without copying data to stack buffer | Nikias Bassen | 1 | -18/+62 | |
Instead of calling strtoll() and atof(), the code now parses the numerical values directly to handle cases of non-0-terminated string data. The floating point value parsing is probably not ideal, but sufficient for our purposes. | |||||
2022-01-31 | jplist: Fix memory leak that occurs when JSON parsing fails | Nikias Bassen | 2 | -0/+2 | |
Credit to OSS-Fuzz | |||||
2022-01-31 | plistutil: Make sure the input buffer is 0-terminated in all code paths | Nikias Bassen | 1 | -0/+1 | |
2022-01-31 | test: Update JSON test case to have negative numbers | Nikias Bassen | 1 | -1/+1 | |
2022-01-31 | jplist: Fix OOB read in parse_primitive caused by missing 0-termination | Nikias Bassen | 1 | -2/+8 | |
In parse_primitive, integer and double values are parsed by using strtoll and atof, which both expect the string to be 0-terminated. While this is not a problem in well-formed JSON files, it can be if the JSON data is not, possibly leading to a crash due to OOB memory access. This commit fixes it by copying the value data in question to a stack buffer and 0-terminate it, and use that buffer instead. Credit to OSS-Fuzz | |||||
2022-01-31 | fuzz: Add another JSON test case from OSS-Fuzz | Nikias Bassen | 1 | -0/+1 | |
2022-01-31 | jplist: Fix OOB read by making sure the JSMN token index is in valid range | Nikias Bassen | 1 | -31/+48 | |
Credit to OSS-Fuzz | |||||
2022-01-28 | fuzz: Add JSON crash/leak test cases from OSS-Fuzz | Nikias Bassen | 3 | -0/+3 | |
2022-01-28 | jplist: Fix a few memory leaks that occur when parsing fails | Nikias Bassen | 1 | -0/+5 | |
Credit to OSS-Fuzz | |||||
2022-01-28 | jplist: Fix NULL pointer dereference by handling errors from unescape_string ↵ | Nikias Bassen | 1 | -0/+6 | |
correctly Credit to OSS-Fuzz | |||||
2022-01-28 | jplist: Fix use-after-free in unescape_string | Nikias Bassen | 1 | -2/+2 | |
Credit to OSS-Fuzz | |||||
2022-01-26 | [github-actions] Also checkout all tags for codeql | Nikias Bassen | 1 | -1/+1 | |
2022-01-26 | [github-actions] Make sure to fetch all tags on checkout | Nikias Bassen | 1 | -0/+6 | |
2022-01-25 | jplist: Make sure the jsmn parser tokens are initialized properly | Nikias Bassen | 1 | -3/+6 | |
2022-01-25 | test: Rename json test files to .json | Nikias Bassen | 5 | -3/+4 | |
2022-01-25 | configure: Fix clang detection when configuring --with-fuzzers | Nikias Bassen | 1 | -2/+7 | |
2022-01-25 | fuzz: Add fuzzer for JSON format | Nikias Bassen | 6 | -4/+110 | |
2022-01-25 | autoconf: Automatically derive version number from latest git tag | Nikias Bassen | 3 | -2/+26 | |
2022-01-25 | test: Add additional JSON test case | Nikias Bassen | 4 | -7/+28 | |
2022-01-25 | jplist: Make sure key values are also unescaped | Nikias Bassen | 1 | -12/+19 | |
2021-12-24 | json: Update parser (jsmn) to verify the length of the input data | Nikias Bassen | 3 | -7/+17 | |
This way the string doesn't have to be 0-terminated. | |||||
2021-12-23 | test: Work around JSON parser limitation expecting to have a 0-terminated ↵ | Nikias Bassen | 1 | -0/+3 | |
string as input | |||||
2021-12-23 | test: Update json test case to not rely on --enable-debug | Nikias Bassen | 1 | -9/+6 | |
2021-12-23 | plistutil: Check return values from plist API to print proper error messages | Nikias Bassen | 1 | -14/+35 | |
and return a meaningful exit code. | |||||
2021-12-23 | jplist: Make strndup argument const to silence compiler warning | Nikias Bassen | 1 | -1/+1 | |
2021-12-23 | [github-actions] Fix test suite failing due to missing debug output | Nikias Bassen | 1 | -3/+3 | |
2021-12-23 | jplist: Fix build on Windows | Nikias Bassen | 1 | -0/+12 | |
2021-12-23 | Add support for JSON format | Nikias Bassen | 20 | -66/+1403 | |
2021-12-23 | test: Add PLIST_UID test case | Nikias Bassen | 4 | -3/+155 | |
2021-12-23 | xplist: Add special handling for PLIST_UID parsing from XML | Nikias Bassen | 1 | -5/+14 | |
In XML, PLIST_UID nodes are stored as a dict with a "CF$UID" key and an integer value, so we want to make it a real PLIST_UID node internally. | |||||
2021-12-22 | Add a return value to plist_to_* and plist_from_* functions | Nikias Bassen | 4 | -43/+120 | |
This way it can be easier determined why an import/export operation failed instead of just having a NULL result. |