summaryrefslogtreecommitdiffstats
path: root/src/hashtable.h
AgeCommit message (Collapse)AuthorFilesLines
10 hoursHarden allocation failure handling and size arithmeticGravatar Nikias Bassen1-1/+2
- check malloc/calloc/realloc results in constructors, the JSON and OpenStep writers, the XML text-part helpers and base64 decoding, and return PLIST_ERR_NO_MEM instead of asserting or dereferencing NULL - guard size calculations against overflow in the UTF-8/UTF-16BE conversions, ptrarray, and bytearray - make hash_table_insert() report failure instead of silently dropping the entry; writers propagate PLIST_ERR_NO_MEM, and dict lookup caches are discarded so lookups fall back to a linear search - don't overwrite an earlier parse error code in the XML parser, and report PLIST_ERR_NO_MEM when reading text content fails for lack of memory - OpenStep parser: check node/data/string allocations and dict/array insertion results Based on #323 by bg0d-droid. Co-authored-by: bg0d-droid <81825610+bg0d-droid@users.noreply.github.com>
2026-01-12hashtable: Remove unnecessary casts by using the correct type for the `next` ↵Gravatar Nikias Bassen1-1/+1
member
2016-11-18Improve plist_dict_set_item performance for large dictionaries with hash tableGravatar Nikias Bassen1-2/+5
2016-05-12bplist: Speed up plist_to_bin conversion for large plistsGravatar Nikias Bassen1-1/+1
Using a better hashing algorithm and a larger hash table the conversion is A LOT faster when processing large plists. Thanks to Xiao Deng for reporting this issue and suggesting a fix.
2014-10-03Avoid exporting non-public symbolsGravatar Nikias Bassen1-5/+4
2011-05-27Make libplist glib freeGravatar Nikias Bassen1-0/+48