summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* oplist: Plug another memory leak occurring on parse errorNikias Bassen2023-01-112-0/+2
| | | | Credit to OSS-Fuzz
* oplist: Plug some more memory leaks occuring when parsing failsNikias Bassen2023-01-111-4/+5
|
* fuzz: Add OpenStep crash/leak testcases found by OSS-FuzzNikias Bassen2023-01-093-0/+8
|
* oplist: Add more bound checks to prevent OOB readsNikias Bassen2023-01-091-2/+32
|
* oplist: Fix OOB read by checking bounds properlyNikias Bassen2023-01-091-1/+6
| | | | Credit to OSS-Fuzz
* oplist: Fix use-after-free by setting free'd pointer to NULLNikias Bassen2023-01-091-0/+1
| | | | Credit to OSS-Fuzz
* oplist: Plug memory leaks occurring when parsing failsNikias Bassen2023-01-091-0/+7
|
* Updated READMENikias Bassen2023-01-081-7/+14
|
* fuzz: Add OpenStep plist fuzzerNikias Bassen2023-01-086-3/+108
|
* fuzz: Fix comment in jplist_fuzzer saying XMLNikias Bassen2023-01-081-2/+2
|
* Add support for OpenStep plist formatNikias Bassen2023-01-0818-45/+1322
|
* fuzz: Add some more JSON test case from OSS-FuzzNikias Bassen2023-01-083-0/+66
|
* JSON: Only allow to convert PLIST_DICT or PLIST_ARRAY node to JSONNikias Bassen2023-01-081-0/+8
|
* [github-actions] Add CIFuzz integrationDavid Korczynski2022-11-201-0/+26
| | | | Signed-off-by: David Korczynski <david@adalogics.com>
* [github-actions] CodeQL: No need for scheduled run since it runs on every pushNikias Bassen2022-11-021-2/+0
|
* jplist: Prevent multiplication overflow by casting to larger typeNikias Bassen2022-11-021-2/+2
| | | | Found by CodeQL
* cython: Fix 2 warnings with `-Wbad-function-cast`Nikias Bassen2022-09-051-2/+4
|
* jplist: Fix warning with `-Wbad-function-cast`Nikias Bassen2022-09-051-2/+2
|
* Fix up warning with `-Wbad-function-cast`Dave MacLachlan2022-09-051-1/+4
|
* Get rid of casting a ptr to a 32 bit valueDave MacLachlan2022-09-051-2/+2
| | | | This causes a warning if `-Wbad-function-cast` is enabled on a build.
* [github-actions] Update CodeQL to v2Nikias Bassen2022-09-051-3/+3
|
* Allow using libplist as a submoduleNikias Bassen2022-09-051-1/+1
|
* bplist: Fix strict aliasing violationsMatthew Smith2022-08-241-3/+9
| | | | | | | | Casting a float pointer to an int pointer is a strict aliasing violation (-Wstrict-aliasing) and is undefined behaviour (although, it did not seem to cause any real issues). An optimising compiler should elide the memcopies added by this commit.
* [github-actions] Add a scheduled build every 1st of the month so we always ↵Nikias Bassen2022-08-241-1/+4
| | | | have an artifact
* jplist: Escape characters [0x00..0x1F] when converting to JSONNikias Bassen2022-04-061-5/+12
|
* Skip whitespace to properly detect format in plist_from_memory()Nikias Bassen2022-04-061-3/+8
|
* jplist: Fix another OOB read by using correct bounds checkNikias Bassen2022-02-151-1/+1
| | | | Credit to OSS-Fuzz
* [github-actions] Use windows-2019 instead of windows-latest for nowNikias Bassen2022-02-141-1/+1
| | | | Built is failing because of some python mess
* jplist: Fix OOB read by using correct bounds checkNikias Bassen2022-02-111-1/+1
| | | | Credit to OSS-Fuzz
* [github-actions] Windows: Prevent -dirty suffix in version string by ↵Nikias Bassen2022-02-102-0/+2
| | | | disabling CRLF conversion
* jplist: Prevent read of uninitialized value by checking the bounds beforehandNikias Bassen2022-02-081-2/+2
| | | | Credit to OSS-Fuzz
* cython: Fix Windows buildNikias Bassen2022-02-071-0/+4
|
* docs: Fix parameter and type names for doxygenNikias Bassen2022-02-071-8/+11
|
* cython: Fix for LibTool compilation and Python 3 libintlRick Mark2022-02-071-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.
* test: Polish json3.test to not leave temp file after testNikias Bassen2022-02-071-3/+5
|
* Update .gitignoreNikias Bassen2022-02-071-0/+3
|
* test: Add int64 min/max testcase for JSON parserNikias Bassen2022-02-073-2/+24
|
* xplist: Prevent undefined behavior by not trying to negate INT64_MINNikias Bassen2022-02-071-1/+1
|
* jplist: Prevent integer overflow when parsing numerical valuesNikias Bassen2022-02-071-6/+29
| | | | Credit to OSS-Fuzz
* configure: Generate usable version via git-version-gen when ran in shallow cloneNikias Bassen2022-02-051-1/+5
|
* jplist: Fix OOB read by making sure number of children is evenNikias Bassen2022-02-032-2/+7
| | | | Credit to OSS-Fuzz
* configure: Prevent wrong version string generation (e.g. when doing a ↵Nikias Bassen2022-02-021-1/+1
| | | | shallow checkout from git)
* jplist: Fix memory leak on parse errorNikias Bassen2022-02-022-0/+3
| | | | Credit to OSS-Fuzz
* jplist: Improve numerical value parsing without copying data to stack bufferNikias Bassen2022-02-021-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.
* jplist: Fix memory leak that occurs when JSON parsing failsNikias Bassen2022-01-312-0/+2
| | | | Credit to OSS-Fuzz
* plistutil: Make sure the input buffer is 0-terminated in all code pathsNikias Bassen2022-01-311-0/+1
|
* test: Update JSON test case to have negative numbersNikias Bassen2022-01-311-1/+1
|
* jplist: Fix OOB read in parse_primitive caused by missing 0-terminationNikias Bassen2022-01-311-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
* fuzz: Add another JSON test case from OSS-FuzzNikias Bassen2022-01-311-0/+1
|
* jplist: Fix OOB read by making sure the JSMN token index is in valid rangeNikias Bassen2022-01-311-31/+48
| | | | Credit to OSS-Fuzz