- 28 Jan, 2017 8 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
-
- 25 Jan, 2017 2 commits
-
-
Nikias Bassen authored
Apple only allows 32 bit unsigned values for UID nodes. Also the encoding of the length is different from the encoding used for other node types. The nibble used to mark the size is 1 less than the actual size of the integer value data, so 0 means 1 byte length 1 means 2 bytes length, etc.
-
Nikias Bassen authored
-
- 19 Jan, 2017 4 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Wang Junjie authored
-
- 18 Jan, 2017 3 commits
-
-
Nikias Bassen authored
The uint24_from_be function used memcpy and a call to byte_convert. Instead the macro now shifts the data appropriately with a new beNtoh macro that eventually uses be64toh. This commit also fixes the problem where binary plist data with other non-power-of-2 sizes (like 5,6, or 7) where not handled correctly, and actually supports sizes larger than 8 bytes though only the last 8 bytes are actually converted (nobody will come up with such a large plist anyway).
-
Nikias Bassen authored
-
Nikias Bassen authored
As pointed out in #87 plistutil would do a memcmp with a heap buffer without checking the size. If the size is less than 8 it would read beyond the bounds of this heap buffer. This commit prevents that.
-
- 16 Jan, 2017 1 commit
-
-
Nikias Bassen authored
As reported in #86, the binary plist parser would force the type of the key node to be of type PLIST_KEY while the node might be of a different i.e. non-string type. A following plist_free() might then call free() on an invalid pointer; e.g. if the node is of type integer, its value would be considered a pointer, and free() would cause an error. We prevent this issue by disallowing non-string key nodes during parsing.
-
- 11 Jan, 2017 1 commit
-
-
Nikias Bassen authored
-
- 03 Jan, 2017 3 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
While this works for libplist.dll, libplist++.dll will still have the _Unwind_Resume symbol being imported from libgcc_s_dw2-1.dll and there doesn't seem to be a way to prevent that.
-
- 02 Jan, 2017 3 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
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
-
- 27 Dec, 2016 2 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 21 Dec, 2016 3 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 14 Dec, 2016 4 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-