- 02 Sep, 2019 1 commit
-
-
Nikias Bassen authored
This prevents a UaF in node_list_add. The issue became visible after removing the last (and only) item from a PLIST_DICT or PLIST_ARRAY node, and then adding a new item - the item will not make it into the actual dictionary or array because the list->end pointer points to invalid memory, effectively causing memory corruption.
-
- 13 Aug, 2019 1 commit
-
-
Xiao Deng authored
-
- 09 Aug, 2019 1 commit
-
-
Nikias Bassen authored
As mentioned in #142, plist_copy_node() was not correctly handling the hash tables when cloning array or dict nodes; it incorrectly filled the hash table with the original child node info, which effectively would lead to a segmentation fault / UaF if the original array/dict would be freed followed by an attempt to access an element in the new hash table.
-
- 08 Aug, 2019 2 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 07 Aug, 2019 1 commit
-
-
Nikias Bassen authored
-
- 10 Jul, 2019 2 commits
-
-
Andrew Udvare authored
-
Andrew Udvare authored
-
- 07 Jul, 2019 1 commit
-
-
Alexander Böhn authored
... and const versions of three member functions, each returning const_iterator: * Plist::Dictionary::Begin() * PList::Dictionary::End() * PList::Dictionary::Find()
-
- 26 Jun, 2019 1 commit
-
-
tihmstar authored
Bug: when creating a new Dictionary object (for example through PList::Node::FromPlist(plist_t node) ), the dictionary_fill function is called from Dictionary() constructor in line 50. It seems that the intended way of calling dictionary_fill() is to pass the _map object by reference, however it is actually passed by value. Thus the changes to the map object made by dictionary_fill() are discarded when the function returns. Fix: pass _map by reference to keep the changes
-
- 19 May, 2019 2 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 18 May, 2019 3 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 16 May, 2019 3 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
Also fixes #126 by skipping the strlen() in the assert() if for some reason NULL is returned as data
-
Nikias Bassen authored
-
- 11 May, 2019 3 commits
-
-
Yves-Alexis Perez authored
Latest version (serial 24) only updates the URL
-
Yves-Alexis Perez authored
New version of AX_PYTHON_DEVEL macro defines PYTHON_LIBS and not PYTHON_LDFLAGS, so adjust where needed
-
Julien Lavergne authored
-
- 03 Apr, 2019 1 commit
-
-
Nikias Bassen authored
-
- 21 Jan, 2019 5 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
Similar to #PLIST_DICT, an iterator can now be used for #PLIST_ARRAY nodes. Get an iterator with plist_array_new_iter() and use plist_array_next_item() to iterate over the elements.
-
Nikias Bassen authored
-
- 18 Jan, 2019 1 commit
-
-
Nikias Bassen authored
-
- 23 Dec, 2018 1 commit
-
-
Nikias Bassen authored
As Xiao Deng pointed out in #131, plist_dict_next_item() was very inefficient. For each iteration, node_nth_child() was called with the iterator value, which would walk through the child node list on EVERY iteration. If the dictionary is large this makes things very slow. More than that, after reaching the key node the code was calling node_nth_child() AGAIN (with iterator value + 1) to reach the value node, which would walk through the node list once more. This commit changes the iterator to be a node_t pointer so that the iteration is done on the node list directly.
-
- 17 Dec, 2018 1 commit
-
-
Nikias Bassen authored
Now that we grow the output buffer enough before writing XML output we can just write the base64 encoded data directly to the ouput buffer instead of using a heap buffer that will then be copied to the output buffer. This makes writing XML output more memory efficient (and slightly faster).
-
- 16 Dec, 2018 1 commit
-
-
Shane Garrett authored
Don't convert the string to UTF-8, just bytes. Fixes #109.
-
- 14 Dec, 2018 1 commit
-
-
Nikias Bassen authored
-
- 13 Dec, 2018 1 commit
-
-
Nikias Bassen authored
-
- 11 Dec, 2018 1 commit
-
-
Nikias Bassen authored
-
- 10 Dec, 2018 4 commits
-
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
Nikias Bassen authored
-
- 30 Nov, 2018 1 commit
-
-
Nikias Bassen authored
-
- 29 Nov, 2018 1 commit
-
-
Nikias Bassen authored
-