1. 10 Nov, 2016 8 commits
  2. 09 Nov, 2016 1 commit
  3. 31 Oct, 2016 4 commits
  4. 24 Oct, 2016 1 commit
  5. 22 Oct, 2016 1 commit
  6. 19 Sep, 2016 2 commits
  7. 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
  8. 08 Sep, 2016 1 commit
  9. 29 Jun, 2016 3 commits
    • Nikias Bassen's avatar
      xplist: Plug memory leak when converting PLIST_UID nodes to XML · 16f45a04
      Nikias Bassen authored
      In node_to_xml nodes of type PLIST_UID are temporarily converted
      to a PLIST_DICT for an appropriate XML output. Therefore a PLIST_KEY
      and a PLIST_UINT node is created and inserted into the PLIST_DICT
      node. Upon completion, the child nodes of the PLIST_DICT node are
      detached from the original node and freed, however the data of the
      child nodes - the key string and the uint value - are not.
      This commit fixes it.
      16f45a04
    • Nikias Bassen's avatar
      test: Add another test case for signed/unsigned (multiple) integers · 02bd8acd
      Nikias Bassen authored
      Apart from testing the actual integer signed vs. unsigned value storage
      and conversion, this test will check that the binary plist optimization
      is not re-using existing values. Basically it will test the fix that
      was introduced with commit acd226d1.
      02bd8acd
    • Nikias Bassen's avatar
      plist_data_compare: Make sure to compare the node sizes for integer nodes · acd226d1
      Nikias Bassen authored
      Without this check, e.g. the values -1 and 18446744073709551615 would yield in a
      match, since the comparison will just compare the uint64_t values. However, any
      value >= 9223372036854775808 and <= 18446744073709551615 is stored as a 128 bit
      value in binary plist format to make sure it is recognized as an unsigned value.
      We store it internally as a uint64_t value, but we set the size to 16 vs. 8
      accordingly; so this commit will make sure the binary plist optimization will
      not re-use matching uint64_t values of actually mismatching signed/unsigned values.
      acd226d1
  10. 12 May, 2016 4 commits
  11. 20 Apr, 2016 2 commits
  12. 07 Dec, 2015 1 commit
  13. 13 Nov, 2015 1 commit
  14. 05 Feb, 2015 3 commits
  15. 31 Jan, 2015 2 commits
  16. 29 Jan, 2015 2 commits
  17. 28 Jan, 2015 3 commits