1. 03 Feb, 2017 2 commits
  2. 01 Feb, 2017 2 commits
  3. 28 Jan, 2017 8 commits
  4. 25 Jan, 2017 2 commits
  5. 19 Jan, 2017 4 commits
  6. 18 Jan, 2017 1 commit
    • Nikias Bassen's avatar
      bplist: Improve UINT_TO_HOST macro, remove uint24_from_be function · 82501db7
      Nikias Bassen authored
      The uint24_from_be function used memcpy and a call to byte_convert.
      Instead the macro now shifts the data appropriately with a new beNtoh
      macro that eventually uses be64toh.
      This commit also fixes the problem where binary plist data with other
      non-power-of-2 sizes (like 5,6, or 7) where not handled correctly,
      and actually supports sizes larger than 8 bytes though only the last
      8 bytes are actually converted (nobody will come up with such a large
      plist anyway).
      82501db7
  7. 16 Jan, 2017 1 commit
    • Nikias Bassen's avatar
      bplist: Disallow key nodes with non-string node types · 7a28a14c
      Nikias Bassen authored
      As reported in #86, the binary plist parser would force the type of the
      key node to be of type PLIST_KEY while the node might be of a different
      i.e. non-string type. A following plist_free() might then call free() on
      an invalid pointer; e.g. if the node is of type integer, its value would
      be considered a pointer, and free() would cause an error.
      We prevent this issue by disallowing non-string key nodes during parsing.
      7a28a14c
  8. 18 Nov, 2016 2 commits
  9. 13 Nov, 2016 1 commit
  10. 10 Nov, 2016 4 commits
  11. 09 Nov, 2016 1 commit
  12. 22 Oct, 2016 1 commit
  13. 18 Sep, 2016 1 commit
    • Nikias Bassen's avatar
      Change internal storage of PLIST_DATE values from struct timeval to double · 912cb459
      Nikias Bassen authored
      This removes the timeval union member from the plist_data_t structure.
      Since struct timeval is 2x64bit on 64bit platforms this member unnecessarily
      grew the union size to 16 bytes while a size of 8 bytes is sufficient.
      Also, on 32bit platforms struct timeval is only 2x32bit of size, limiting the
      range of possible time values. In addition the binary property list format
      also stores PLIST_DATE nodes as double.
      912cb459
  14. 12 May, 2016 1 commit
  15. 05 Feb, 2015 1 commit
  16. 31 Jan, 2015 2 commits
  17. 09 Oct, 2014 1 commit
    • Martin Szulecki's avatar
      bplist: Fix plist_from_bin() changing value nodes to key nodes in dictionaries · b3ab0a42
      Martin Szulecki authored
      The parsing logic for binary dictionaries wrongly enforced the key type even
      on nodes that were already parsed as value nodes. This caused the resulting
      plist_t node tree to have key nodes instead of value nodes within dictionaries
      for some valid binary plists. This commit should also generally fixes parsing
      of binary plist files which use an efficient dictionary reference table.
      b3ab0a42
  18. 03 Oct, 2014 2 commits
  19. 23 Sep, 2014 1 commit
  20. 25 Aug, 2014 1 commit
  21. 05 Aug, 2014 1 commit