summaryrefslogtreecommitdiffstats
path: root/src/hashtable.c
AgeCommit message (Collapse)AuthorFilesLines
11 hoursHarden allocation failure handling and size arithmeticGravatar Nikias Bassen1-3/+10
- 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-5/+5
member
2023-05-21Add explicit casts and fix return type mismatchesGravatar Nikias Bassen1-5/+5
2016-11-18Improve plist_dict_set_item performance for large dictionaries with hash tableGravatar Nikias Bassen1-3/+37
2016-05-12bplist: Speed up plist_to_bin conversion for large plistsGravatar Nikias Bassen1-4/+4
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.
2012-01-12fix compiler warningsGravatar Nikias Bassen1-1/+0
2011-05-27Make libplist glib freeGravatar Nikias Bassen1-0/+107