Commit Graph

  • 0daa2d3ca1 Fix cython module includes master Luke Street 2018-01-01 20:37:29 -05:00
  • 05e92cc590 Use DLL_EXPORT condition for DllMain mingw-static Luke Street 2018-01-01 17:54:13 -05:00
  • ec9ba8bff6 configure: Allow building with sanitizers (without fuzzers) Nikias Bassen 2017-06-08 03:14:18 +02:00
  • be567b3ac8 bplist: Prevent store to misaligned address when writing real/date nodes Nikias Bassen 2017-05-31 03:47:18 +02:00
  • ebd8083859 fuzz: Add some more crash samples reported via github issues. Nikias Bassen 2017-05-31 02:03:32 +02:00
  • 94708aacf8 fuzz: Add crash/leak samples from OSS-Fuzz Nikias Bassen 2017-05-30 20:54:21 +02:00
  • 8bc2a5aaaf fuzz: Move known crash/leak samples to per-fuzzer directories Nikias Bassen 2017-05-30 20:19:35 +02:00
  • 2fecc5c034 fuzz: Add appropriate -max_len to fuzzers for testing Nikias Bassen 2017-05-29 17:22:14 +02:00
  • 0118009bb5 Prefer clang/clang++ over gcc/g++ (if installed) Nikias Bassen 2017-05-29 04:10:55 +02:00
  • 99f3ab144d Integrate fuzzers into build system Nikias Bassen 2017-05-29 04:08:29 +02:00
  • 1e89644636 fuzz: Add some known previously crashing test cases Nikias Bassen 2017-05-29 04:05:01 +02:00
  • 292994b09f bplist: Work around misaligned reads reported by AddressSanitizer Nikias Bassen 2017-05-29 03:54:24 +02:00
  • 5c6e695ca9 Add fuzzing targets for libFuzzer used by Google's OSS-Fuzz Nikias Bassen 2017-04-25 14:54:59 +02:00
  • 62ec804736 Updated NEWS for release 2.0.0 Nikias Bassen 2017-04-20 15:26:29 +02:00
  • 3ed4cc2583 Updated AUTHORS from commit history Nikias Bassen 2017-04-20 15:26:17 +02:00
  • ac3cc954a3 Bump version to 2.0.0 for release Nikias Bassen 2017-04-20 15:17:14 +02:00
  • 4bb9b282ef Bump so version due to added functions to interface Nikias Bassen 2017-04-20 15:12:09 +02:00
  • 1cd181c936 build: Fix check for previously installed cython bindings Nikias Bassen 2017-04-20 15:08:38 +02:00
  • 29bed91a80 build: Make sure plist.pxd is included in tarballs Christophe Fergeau 2017-04-20 14:18:45 +02:00
  • 054578a2d8 autofoo: Ensure that 'make distcheck' doesn't fail when cython is not installed Christophe Fergeau 2017-04-20 12:38:09 +02:00
  • d0193690c8 test: Rename dates.test output files so the get removed upon 'make distclean' Christophe Fergeau 2017-04-20 12:30:50 +02:00
  • 1a046c184a test: Add missing test files to Makefile.am/EXTRA_DIST Christophe Fergeau 2017-04-20 12:21:27 +02:00
  • 9e4b5eb516 bplist: Fix missing break in switch statement in plist_to_bin() Nikias Bassen 2017-04-20 11:36:22 +02:00
  • af52f0420a bplist: Suppress compiler warnings with proper casts Nikias Bassen 2017-04-20 11:33:54 +02:00
  • d6c437575f cython: Remove references to libxml2 flags from Makefile.am Nikias Bassen 2017-04-20 11:17:08 +02:00
  • 9d2331d020 test: Fix wrong filename in EXTRA_DIST entry of Makefile.am Nikias Bassen 2017-04-20 11:15:23 +02:00
  • fdebf8b319 bplist: Fix integer overflow check (offset table size) Nikias Bassen 2017-04-19 19:32:34 +02:00
  • 415c35a5f7 Initialize safe_year in time64.c Greg Dennis 2017-04-14 05:21:45 -04:00
  • ff7aecf112 Update time64_limits.h Greg Dennis 2017-04-06 10:12:14 -04:00
  • cf81d07289 xplist: Plug another memory leak Nikias Bassen 2017-04-02 02:08:41 +02:00
  • 765f062a45 xplist: Prevent memory leak(s) when parsing fails Nikias Bassen 2017-03-29 22:08:21 +02:00
  • 012e4a8d7c xplist: Make XML parsing non-recursive to prevent stack overflow on deep-structured plists Nikias Bassen 2017-03-29 02:51:00 +02:00
  • 1406766a0c libcnary: Remove unused 'node' parameter from node_list_create() Nikias Bassen 2017-03-28 02:51:25 +02:00
  • dccd929074 bplist: Make sure sanity checks work on 32bit platforms Nikias Bassen 2017-03-26 20:06:57 +02:00
  • 71bcd3b65e autocconf: Add android exception for pthread detection Nikias Bassen 2017-03-18 23:55:58 +01:00
  • e37ca00903 base64: Prevent undefined shift when parsing invalid base64 encoded data Nikias Bassen 2017-02-18 18:09:34 +01:00
  • 8ad21e6b59 xplist: Improve writing of large PLIST_DATA nodes by growing buffer in advance Nikias Bassen 2017-02-15 15:14:12 +01:00
  • 32ee5213fe bplist: Fix data range check for string/data/dict/array nodes Nikias Bassen 2017-02-10 13:42:46 +01:00
  • 72f7cf8036 bplist: Fix integer overflow resulting in OOB heap buffer read Nikias Bassen 2017-02-10 05:01:09 +01:00
  • 8e4b7a591c xplist: Fix OOB heap buffer read with empty data nodes Nikias Bassen 2017-02-09 23:06:13 +01:00
  • b1be1e99dd bplist: Make sure to detect integer overflow when handling unicode node size Nikias Bassen 2017-02-09 14:50:48 +01:00
  • 47d02dde60 xplist: Prevent assert when parsing CF$UID dict with invalid value node Nikias Bassen 2017-02-09 13:26:15 +01:00
  • 1bf28fb685 xplist: Use proper variable size for integer from string parsing Nikias Bassen 2017-02-08 02:45:46 +01:00
  • 0c6668246c plist: Fix assert() to allow 16 or 8 byte integer sizes (16 bytes = unsigned integer) Nikias Bassen 2017-02-07 17:35:02 +01:00
  • 8368f3d66e bplist: Properly handle some more malloc() failure situations Nikias Bassen 2017-02-07 13:02:37 +01:00
  • 07e92dd116 bplist: Make sure to bail out if malloc() fails in parse_unicode_node() Nikias Bassen 2017-02-07 12:49:58 +01:00
  • 56ba9bf7f6 bplist: Make sure to bail out if malloc() fails in parse_data_node() Nikias Bassen 2017-02-07 12:44:52 +01:00
  • fbd8494d5e bplist: Make sure to bail out if malloc() fails in parse_string_node() Nikias Bassen 2017-02-07 12:43:27 +01:00
  • 3a5520ccce xplist: Prevent some more strncmp related OOB reads Nikias Bassen 2017-02-07 04:19:44 +01:00
  • 9c70a359f5 xplist: Really fix OOB read when parsing DOCTYPE Nikias Bassen 2017-02-07 04:05:30 +01:00
  • 322b2c9dc4 xplist: unescape_entities(): Make sure text part buffer is null terminated after strncpy Nikias Bassen 2017-02-07 03:32:32 +01:00
  • 234c41cd7e xplist: Fix OOB read when parsing DOCTYPE Nikias Bassen 2017-02-07 03:21:52 +01:00
  • fa4d1ce8a6 xplist: Also fix OOB read in find_char() and find_str() functions Nikias Bassen 2017-02-07 03:12:40 +01:00
  • e4dc36f18a xplist: Prevent OOB read in two more cases Nikias Bassen 2017-02-07 03:03:15 +01:00
  • ca33a2b7ae xplist: Fix OOB read when parsing double quotes Nikias Bassen 2017-02-07 02:37:59 +01:00
  • 8c5eae9847 xplist: Fix OOB read when parsing node text content Nikias Bassen 2017-02-07 02:27:03 +01:00
  • eb92931938 plistutil: Print error message when opening input/output file fails and plug memory leaks on error Nikias Bassen 2017-02-07 02:17:55 +01:00
  • cf9ee441ae xplist: Catch some more error conditions Nikias Bassen 2017-02-07 02:11:12 +01:00
  • 35fdf8e73b xplist: Prevent memory leaks when parsing fails Nikias Bassen 2017-02-06 20:02:39 +01:00
  • c98451f9ea bplist: Plug memory leak in case parsing a dictionary key fails Nikias Bassen 2017-02-06 18:22:10 +01:00
  • e17a493d51 bplist: Refine some debug/error messages in parse_dict_node() Nikias Bassen 2017-02-06 18:21:26 +01:00
  • ca75d9fffd bplist: Suppress compiler warnings about format specifiers in error messages Nikias Bassen 2017-02-05 15:57:45 +01:00
  • 31d7cc5370 bplist: Add error/debug logging (only if configured with --enable-debug) Nikias Bassen 2017-02-05 06:01:11 +01:00
  • 67eb54ab73 bplist: Make sure node data is always before the offset table Nikias Bassen 2017-02-05 05:22:56 +01:00
  • 8e51cdc2c2 bplist: Make sure the offset table is in the correct range Nikias Bassen 2017-02-05 05:16:09 +01:00
  • 2c44cd6e7d bplist: Make sure node index is smaller than number of objects Nikias Bassen 2017-02-05 01:59:30 +01:00
  • c4dcf11b53 bplist: Fix OOB write on heap buffer and improve recursion check Nikias Bassen 2017-02-04 02:51:03 +01:00
  • fc047e6de9 bplist: Prevent OOB read when parsing data/string/array/dict size nodes Nikias Bassen 2017-02-03 23:33:07 +01:00
  • 3ca4f0aeec bplist: Unify size node parsing for data/string/array/dict nodes Nikias Bassen 2017-02-03 23:26:54 +01:00
  • 4765d9a60c bplist: Fix possible out-of-bounds read in parse_array_node() with proper bounds checking Nikias Bassen 2017-02-01 20:22:38 +01:00
  • 5791fb908a test: Add test cases for different bplist offset and reference sizes Nikias Bassen 2017-02-01 19:07:02 +01:00
  • e9895752a3 bplist: Avoid heap buffer allocation when parsing array/dict/string/data node sizes > 14 Nikias Bassen 2017-02-01 18:50:00 +01:00
  • cf9836196c Suppress compiler warning with new bplist code Nikias Bassen 2017-01-28 05:40:12 +01:00
  • 783777b8e1 bplist: Don't duplicate output buffer in plist_to_bin() Nikias Bassen 2017-01-28 05:20:44 +01:00
  • 30e14a3ec6 bplist: Improve parsing unicode nodes Nikias Bassen 2017-01-28 05:10:51 +01:00
  • 96ced4ea51 bplist: Improve writing of offset table Nikias Bassen 2017-01-28 04:55:59 +01:00
  • 369d72bb95 bplist: Improve writing of array and dictionary nodes Nikias Bassen 2017-01-28 04:54:24 +01:00
  • 3131bdd321 bplist: Improve writing of data, string, and unicode nodes Nikias Bassen 2017-01-28 04:47:40 +01:00
  • b937059c4d bplist: Improve writing of UID nodes Nikias Bassen 2017-01-28 04:46:37 +01:00
  • 962d4064b6 bplist: Improve writing of integer nodes Nikias Bassen 2017-01-28 04:45:35 +01:00
  • 458341fcc3 bplist: Improve real/date node de/serialization Nikias Bassen 2017-01-28 04:44:05 +01:00
  • 6bf56a7cb5 bplist: Fix UID node parsing to match Apple's parser Nikias Bassen 2017-01-25 03:28:29 +01:00
  • 4c072d0151 bplist: Improve integer node parsing, remove unnecessary memcpy() Nikias Bassen 2017-01-25 02:41:38 +01:00
  • 6a44dfb72f bplist: Check for invalid ref_size in bplist trailer Nikias Bassen 2017-01-19 17:44:42 +01:00
  • c67ab063cf bplist: Mass-rename 'dict_size' and 'param_dict_size' to more appropriate 'ref_size' Nikias Bassen 2017-01-19 15:52:41 +01:00
  • 3955a2815e bplist: Use proper struct for binary plist trailer Nikias Bassen 2017-01-19 15:49:50 +01:00
  • 26061aac4e bplist: Check for invalid offset_size in bplist trailer Wang Junjie 2017-01-19 14:59:14 +01:00
  • 82501db792 bplist: Improve UINT_TO_HOST macro, remove uint24_from_be function Nikias Bassen 2017-01-18 21:18:58 +01:00
  • b32194d96e plistutil: Use plist_is_binary() to check for binary plist data Nikias Bassen 2017-01-18 15:46:27 +01:00
  • 7391a50635 plistutil: Prevent OOB heap buffer read by checking input size Nikias Bassen 2017-01-18 15:44:51 +01:00
  • 7a28a14cf6 bplist: Disallow key nodes with non-string node types Nikias Bassen 2017-01-16 02:00:27 +01:00
  • 3a55ddd3c4 base64: Rework base64decode to handle split encoded data correctly Nikias Bassen 2017-01-11 03:49:31 +01:00
  • bbd33793d6 xplist: Refine XML parsing error messages Nikias Bassen 2017-01-03 22:49:39 +01:00
  • 5b0184aa95 time64: Remove some unused (and non-thread-safe) functions Nikias Bassen 2017-01-03 18:18:15 +01:00
  • 035148c835 win32: Try to prevent linking against libgcc_s_dw2 Nikias Bassen 2017-01-03 18:09:31 +01:00
  • 9950acbecd test: Add some more test cases for various valid and invalid content Nikias Bassen 2017-01-02 02:29:35 +01:00
  • 9f03f8aabc test: Add new test case for dictionaries with empty keys Nikias Bassen 2017-01-02 02:08:02 +01:00
  • 552801556f test: Add new test case for entities Nikias Bassen 2017-01-02 02:06:39 +01:00
  • 1cdb888575 xplist: Error out when invalid tags inside text nodes are encountered Nikias Bassen 2017-01-02 00:53:20 +01:00
  • 7a3ce8da05 xplist: Make sure to error out when encountering empty/incomplete entities Nikias Bassen 2017-01-02 00:20:15 +01:00