- 02 Apr, 2017 1 commit
-
-
Nikias Bassen authored
Credit to OSS-Fuzz
-
- 29 Mar, 2017 2 commits
-
-
Nikias Bassen authored
Credit to OSS-Fuzz
-
Nikias Bassen authored
Credit to OSS-Fuzz
-
- 15 Feb, 2017 1 commit
-
-
Nikias Bassen authored
Instead of letting the buffer grow by just the amount of bytes currently transformed to base64 - which is basically line by line - we now calculate the size of the output blob in advance and grow the buffer accordingly. This will reduce the amount of reallocs to just one, which is especially important for large data blobs. While this is a general improvement for all platforms, it is on platforms like Windows where realloc() can be REALLY slow; converting a 20mb blob to XML can easily take up to a minute (due to the several hundred thousand calls to realloc()). With this commit, it will be fast again.
-
- 09 Feb, 2017 2 commits
-
-
Nikias Bassen authored
Credit to OSS-Fuzz
-
Nikias Bassen authored
Credit to OSS-Fuzz
-
- 08 Feb, 2017 1 commit
-
-
Nikias Bassen authored
-
- 07 Feb, 2017 9 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 06 Feb, 2017 1 commit
-
-
Nikias Bassen authored
-
- 03 Jan, 2017 1 commit
-
-
Nikias Bassen authored
-
- 01 Jan, 2017 6 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
'</key >' is a perfectly valid closing tag and so is '</key >' (note the newline). This commit will make the parser skip any encountered whitespace before checking for the closing '>'.
-
Nikias Bassen authored
-
- 21 Dec, 2016 3 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 14 Dec, 2016 3 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 28 Nov, 2016 1 commit
-
-
Nikias Bassen authored
The context position counter was increased after encountering a closing node, e.g. '</dict>' or after a closing '</key>' node. When a node followed it directly without any whitespace inbetween, e.g. </dict><key>, parsing would fail since the parser would look at 'key>' instead of '<key>' for the next node to be parsed.
-
- 13 Nov, 2016 4 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 31 Oct, 2016 3 commits
-
-
Filippo Bigarella authored
In case parsing inside `node_from_xml` called from line 842 fails, `data` gets freed by the call to `plist_free` at line 899, since `subnode` is actually created by making it point to `data` at line 684. This commit prevents this situation by bailing out whenever parsing in a deeper level of structured nodes fails.
-
Filippo Bigarella authored
If `ctx->pos - p - 1` is greater than `taglen`, we end up writing outside the buffer pointed to by `tag`. This commit fixes it by checking the bounds of the heap buffer before writing.
-
Filippo Bigarella authored
-
- 22 Oct, 2016 1 commit
-
-
Nikias Bassen authored
-
- 19 Sep, 2016 1 commit
-
-
Nikias Bassen authored
The main benefit of this is to allow date/time values outside of the 32bit time_t range which is very important on 32bit platforms. But there are also some other issues that will be fixed with this, for example on macOS, mktime() will not work for dates < 1902 despite time_t being 64bit. In the same run this commit will also use a reentrant version of gmtime64_r that should help in multithreaded scenarios. Original code taken from: https://github.com/evalEmpire/y2038
-