Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-04-14 | cython: Fix get_value for Data nodes | Nikias Bassen | 1 | -5/+1 | |
2020-04-13 | [github-actions] Install cython via pip | Nikias Bassen | 1 | -2/+3 | |
2020-04-13 | cython: Fix handling of Date nodes (needs MACH_EPOCH) | Nikias Bassen | 1 | -0/+4 | |
2019-12-18 | test: Use diff --strip-trailing-cr to fix tests on windows | Nikias Bassen | 3 | -9/+6 | |
2019-12-18 | [github-actions] Run last step in windows build check even if previous one ↵ | Nikias Bassen | 1 | -0/+1 | |
failed | |||||
2019-12-18 | test: Write outputfile to test log for signedunsigned2 test | Nikias Bassen | 1 | -0/+3 | |
2019-12-18 | [github actions] Print test log of failed tests when testing windows build | Nikias Bassen | 1 | -0/+12 | |
2019-12-09 | bplist: Silence compiler warning | Nikias Bassen | 1 | -2/+2 | |
2019-12-09 | [github actions] trying to fix windows build... | Nikias Bassen | 1 | -3/+3 | |
2019-12-09 | [github action] Hopefully fix windows build | Nikias Bassen | 1 | -1/+1 | |
2019-12-09 | [github actions] Trying to add windows to build workflow | Nikias Bassen | 1 | -15/+29 | |
2019-12-09 | [github actions] Update build workflow to not run brew as root for macOS | Nikias Bassen | 1 | -1/+1 | |
2019-12-09 | [github actions] Update build workflow | Nikias Bassen | 1 | -0/+15 | |
2019-12-09 | bplist: Add cast to/from uint32_t when reading/storing indices for recursion ↵ | Nikias Bassen | 1 | -4/+4 | |
check | |||||
2019-12-09 | [github actions] Fix workflow | Nikias Bassen | 1 | -1/+4 | |
2019-12-09 | bplist: use ptr_array instead of PLIST_ARRAY to store node indices for ↵ | XD | 1 | -10/+10 | |
recursing check This improves performance by at least 30% for large files, and also reduces the memory footprint. | |||||
2019-12-09 | ptrarray: Add function returning the size (number of elements) of the array | XD | 2 | -1/+7 | |
2019-12-05 | Add build workflow | Nikias Bassen | 1 | -0/+18 | |
2019-11-07 | Bump version to 2.1.0 for release2.1.0 | Nikias Bassen | 1 | -1/+1 | |
2019-11-07 | Bump soversion due to functions added to interface | Nikias Bassen | 1 | -1/+1 | |
2019-11-07 | Updated NEWS for release | Nikias Bassen | 1 | -0/+23 | |
2019-11-07 | xplist: Bail out when '.' is found while checking for ',' in double to ↵ | Nikias Bassen | 1 | -0/+2 | |
string conversion | |||||
2019-11-07 | Add plist_get_data_ptr() and plist_get_string_ptr() to the interface | Nikias Bassen | 2 | -0/+51 | |
2019-11-07 | Add plist_to_bin_free() and plist_to_xml_free() functions that free memory ↵ | Nikias Bassen | 3 | -0/+24 | |
allocated by plist_to_bin()/plist_to_xml() | |||||
2019-11-07 | xplist: Increase precision when converting PLIST_REAL nodes to XML | Nikias Bassen | 1 | -37/+16 | |
2019-10-23 | Updated .gitignore | Nikias Bassen | 1 | -0/+2 | |
2019-09-03 | libcnary: [BUGFIX] Set list->end to NULL when removing last and only element ↵ | Nikias Bassen | 1 | -0/+2 | |
from list 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. | |||||
2019-08-13 | plist: Remove unnecessary parameter from plist_copy_node() | Xiao Deng | 1 | -14/+6 | |
2019-08-09 | Make sure to copy hash table entries properly when cloning array/dict nodes | Nikias Bassen | 1 | -18/+22 | |
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. | |||||
2019-08-08 | cython: Make sure plist.pxd is installed correctly | Nikias Bassen | 1 | -0/+3 | |
2019-08-08 | cython: Remove unused variable | Nikias Bassen | 1 | -1/+0 | |
2019-08-08 | cython: Fix compilation | Nikias Bassen | 1 | -0/+4 | |
2019-07-11 | cython: Implement dump()/dumps() to match up with plistlib (Python 3.4) | Andrew Udvare | 2 | -0/+37 | |
2019-07-11 | cython: Implement load()/loads() to match up with plistlib (Python 3.4) | Andrew Udvare | 2 | -0/+58 | |
2019-07-07 | Add PList::Dictionary::const_iterator | Alexander Böhn | 2 | -0/+19 | |
... and const versions of three member functions, each returning const_iterator: * Plist::Dictionary::Begin() * PList::Dictionary::End() * PList::Dictionary::Find() | |||||
2019-06-26 | Fixed bug in dictionary_fill | tihmstar | 1 | -1/+1 | |
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 | |||||
2019-05-20 | plist_set_key_val(): prevent setting a key value that already exists in a ↵ | Nikias Bassen | 1 | -0/+5 | |
PLIST_DICT | |||||
2019-05-20 | Add plist_dict_item_get_key() to allow retrieving the key node for a given ↵ | Nikias Bassen | 2 | -2/+21 | |
item of a #PLIST_DICT | |||||
2019-05-19 | Add plist_array_item_remove() to allow removing an array's child node ↵ | Nikias Bassen | 2 | -0/+23 | |
without relying on the index | |||||
2019-05-19 | plist_array_get_item_index(): return UINT_MAX instead of 0 when node can't ↵ | Nikias Bassen | 3 | -2/+6 | |
be found | |||||
2019-05-19 | Add index lookup table for large PLIST_ARRAY nodes | Nikias Bassen | 3 | -22/+113 | |
2019-05-16 | Converted README to markdown and updated links to https | Nikias Bassen | 2 | -68/+55 | |
2019-05-16 | Ignore invalid input in plist_get_*_val() to prevent unnecessary assertions | Nikias Bassen | 1 | -19/+50 | |
Also fixes #126 by skipping the strlen() in the assert() if for some reason NULL is returned as data | |||||
2019-05-16 | test: Merge *cmp.test into *.test to allow parallel testing | Nikias Bassen | 13 | -48/+24 | |
2019-05-11 | m4: update ax_pthread to latest | Yves-Alexis Perez | 1 | -3/+3 | |
Latest version (serial 24) only updates the URL | |||||
2019-05-11 | cython: use PYTHON_LIBS instead of PYTHON_LDFLAGS | Yves-Alexis Perez | 1 | -1/+1 | |
New version of AX_PYTHON_DEVEL macro defines PYTHON_LIBS and not PYTHON_LDFLAGS, so adjust where needed | |||||
2019-05-11 | Use Requires.private in *.pc files to not add unnecessary links. | Julien Lavergne | 1 | -1/+1 | |
2019-04-04 | Updated ac_python_devel.m4 to newer ax_python_devel.m4 | Nikias Bassen | 1 | -65/+123 | |
2019-01-21 | libcnary: Remove list.c/list.h and just do everything in node_list.c | Nikias Bassen | 4 | -94/+6 | |
2019-01-21 | headers: Don't redefine uint*_t for newer versions of MSVC | Nikias Bassen | 1 | -1/+1 | |