1. 02 Sep, 2019 1 commit
  2. 13 Aug, 2019 1 commit
  3. 09 Aug, 2019 1 commit
    • Nikias Bassen's avatar
      Make sure to copy hash table entries properly when cloning array/dict nodes · e1a5d60e
      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.
      e1a5d60e
  4. 08 Aug, 2019 2 commits
  5. 07 Aug, 2019 1 commit
  6. 10 Jul, 2019 2 commits
  7. 07 Jul, 2019 1 commit
    • Alexander Böhn's avatar
      Add PList::Dictionary::const_iterator · 7d6b42c9
      Alexander Böhn authored
      ... and const versions of three member functions, each returning const_iterator:
      * Plist::Dictionary::Begin()
      * PList::Dictionary::End()
      * PList::Dictionary::Find()
      7d6b42c9
  8. 26 Jun, 2019 1 commit
    • tihmstar's avatar
      Fixed bug in dictionary_fill · ec957fb8
      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
      ec957fb8
  9. 19 May, 2019 2 commits
  10. 18 May, 2019 3 commits
  11. 16 May, 2019 3 commits
  12. 11 May, 2019 3 commits
  13. 03 Apr, 2019 1 commit
  14. 21 Jan, 2019 5 commits
  15. 18 Jan, 2019 1 commit
  16. 23 Dec, 2018 1 commit
    • Nikias Bassen's avatar
      plist: Improve plist_dict_next_item() drastically by iterating on node list directly · 3f967317
      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.
      3f967317
  17. 17 Dec, 2018 1 commit
    • Nikias Bassen's avatar
      xplist: Write base64 directly to output buffer to improve memory usage · 92e5c858
      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).
      92e5c858
  18. 16 Dec, 2018 1 commit
  19. 14 Dec, 2018 1 commit
  20. 13 Dec, 2018 1 commit
  21. 11 Dec, 2018 1 commit
  22. 10 Dec, 2018 4 commits
  23. 30 Nov, 2018 1 commit
  24. 29 Nov, 2018 1 commit