Commit Graph

437 Commits

Author SHA1 Message Date
Zach Hindes f32703a7a1 Support default __stdcall calling convention (/Gz) on Windows 2018-08-29 16:25:46 -05:00
Max Bruckner 86234db095 Release cJSON v1.7.7 2018-05-21 22:08:21 +02:00
Max Bruckner af5b4911de Fix memory leak if realloc returns NULL
Thanks @AlfieDeng for reporting
2018-05-21 22:00:07 +02:00
Max Bruckner 3349978268 cJSON.c: Remove unnecessary include of float.h, fix #259 2018-04-26 23:58:51 +02:00
Max Bruckner cbc05de76f Release version 1.7.6 2018-04-13 12:32:30 +08:00
Max Bruckner 0e0c463491 Release version 1.7.5 2018-03-22 20:29:17 +01:00
Max Bruckner 5da9edc8b1 Release version 1.7.4 2018-03-02 19:57:36 +01:00
Max Bruckner 22a7d04fa0 add_item_to_object: Fix use-after-free when string is aliased
If the `string` property of the item that is added is an alias to the
`string` parameter of `add_item_to_object`, and `constant` is false,
`cJSON_strdup` would access the string after it has been freed.

Thanks @hhallen for reporting this in #248.
2018-03-02 19:49:55 +01:00
Max Bruckner a559eac472 Release version 1.7.3 2018-02-07 21:16:35 +01:00
Max Bruckner d514bb866e Fix #241, potential double free 2018-02-07 19:36:59 +01:00
Max Bruckner 27caa364b0 Release version 1.7.2 2018-02-06 11:38:41 +01:00
Max Bruckner b60b5d3744 Update version to 1.7.1 2018-01-09 21:59:42 +01:00
Max Bruckner 4d84acf926 print_number: fix Off-By-One error
Thanks @liuyunbin for reporting this in #230
2018-01-09 21:40:55 +01:00
Max Bruckner 28d4410f42 print: fix: realloc was allocating too much memory
Thanks @liuyunbin for reporting this in #230
2018-01-09 20:53:33 +01:00
Max Bruckner f33fa95f3d print: Fix default buffer size in printbuffer
Thanks @liuyunbin for reporting this in #230
2018-01-09 20:49:03 +01:00
Max Bruckner 13a2d337a8 Update version number to 1.7 2017-12-31 02:03:40 +01:00
Max Bruckner 5865faffa3 Convert cJSON_Add...ToObject macros into functions
These functions return the added object. Functions to add objects and
arrays have also been added.
2017-12-28 23:56:39 +01:00
Max Bruckner de729a1635 Extract add_item_to_object function that returns a boolean 2017-12-28 21:40:24 +01:00
Max Bruckner 55c597c719 add_item_to_array with boolean return value 2017-12-28 12:45:28 +01:00
Max Bruckner 11844dd5a6 Add cJSON_Create{Array,Object}Reference 2017-11-28 03:06:02 +01:00
Max Bruckner 1f543f0e28 cast_away_const: Generalize for void* 2017-11-28 02:05:02 +01:00
Max Bruckner eaa90a6b74 Add cJSON_CreateStringReference 2017-11-28 02:02:55 +01:00
Max Bruckner 440390a9a5 extract function cast_away_const_from_string 2017-11-28 01:54:21 +01:00
Max Bruckner b2afbd3c9f cJSON_GetStringValue 2017-11-15 18:47:49 +01:00
yangfl fa00278f66 Remove trailing space 2017-11-04 21:19:15 +08:00
Max Bruckner c083421f40 Release version 1.6.0 2017-10-08 23:36:41 +02:00
Max Bruckner 96c33e5abb ENABLE_LOCALES: Actually disable the include as well 2017-10-08 23:28:49 +02:00
Max Bruckner 97d7347a6e Merge branch 'develop' 2017-10-08 22:05:02 +02:00
casperinous 9b960fa870 Small indentation fix in order to follow the contribution rules. 2017-10-08 22:02:52 +03:00
casperinous 4f9e9dfc30 Fix for issue #202, regarding the lack of implementation of the localeconv method in some SDK's.
A macro named `ENABLE_LOCALES` was added and an option with the same name too in the CMakeLists.txt
2017-10-08 21:55:58 +03:00
Max Bruckner afd5d186b7 Release version 1.5.9 2017-09-08 13:54:24 +02:00
rmallins 629c354390 Rewrite test for cJSON_ParseWithOpts() to expect non-null error
pointer in error case and change code to match new expectations.
2017-09-08 01:22:10 +01:00
Max Bruckner 1925d1bbe5 Release version 1.5.8 2017-08-21 11:06:10 +02:00
Max Bruckner 88d66c5da9 Release version 1.5.7 2017-07-12 23:13:14 +02:00
Max Bruckner 954d61e5e7 Fix #189, ensure returns an invalid pointer
If realloc returns NULL, ensure didn't abort but returned
printbuffer.offset instead. If an attacker can control
printbuffer.offset and also make realloc fail at just the right moment,
this would make cJSON potentially write at an arbitrary memory address.
2017-07-12 23:02:31 +02:00
Max Bruckner 5baa77f86c cJSON_Parse{,WithOpts}: Skip UTF-8 (Byte Order Marks) 2017-07-03 22:28:04 +02:00
Max Bruckner 7a2615c231 Fix: Check if __GNUCC__ is defined
This has been detected via MSVC's Warning C4668
2017-06-28 17:28:51 +02:00
Max Bruckner ac368e9dfb MSVC: Fix warning about assignment in condition 2017-06-28 17:28:51 +02:00
Max Bruckner d1c2e2df4a MSVC: workaround for C2322 2017-06-28 17:28:51 +02:00
Max Bruckner 0d675cb048 MSVC: Disable warning about single line comments in system headers 2017-06-28 17:28:50 +02:00
Max Bruckner e872d40223 MSVC: Disable deprecation warnings for C89 functions
C89 sadly doesn't provide safe alternatives for strcpy, sprintf and the
like.
2017-06-28 17:28:50 +02:00
Max Bruckner 38b2f40a9a Add warning -Wunused-macro 2017-06-28 17:28:49 +02:00
Max Bruckner d3bc571a38 Release Version 1.5.6 2017-06-28 17:25:14 +02:00
Max Bruckner 24ea388dcf handle null pointers: cJSON_Minify 2017-06-28 14:22:36 +02:00
Max Bruckner 39745c9c75 handle null pointers: cJSON_ReplaceItemViaPointer 2017-06-28 14:22:29 +02:00
Max Bruckner 9585c38d5a handle null pointers: cJSON_CreateStringArray 2017-06-28 14:22:22 +02:00
Max Bruckner c268e77b21 handle null pointers: cJSON_CreateDoubleArray 2017-06-28 14:22:15 +02:00
Max Bruckner 9f745a2251 handle null pointers: cJSON_CreateFloatArray 2017-06-28 14:22:07 +02:00
Max Bruckner 010e31f2f2 handle null pointers: cJSON_CreateIntArray 2017-06-28 14:21:55 +02:00
Max Bruckner 8ea37fce01 handle null pointers: replace_item_in_object 2017-06-28 14:21:48 +02:00
Max Bruckner b2fe02712d handle null pointers: cJSON_AddItemReferenceToObject 2017-06-28 14:21:42 +02:00
Max Bruckner c179509b31 handle null pointers: cJSON_AddItemReferenceToArray 2017-06-28 14:21:34 +02:00
Max Bruckner 46c4f55c94 handle null pointers: cJSON_AddItemToObjectCS 2017-06-28 14:21:26 +02:00
Max Bruckner 90ff72c8bb handle null pointers: create_reference
Also fixes a potential memory leak
2017-06-28 14:21:09 +02:00
Max Bruckner e9d1de24cf handle null pointers: cJSON_GetArraySize 2017-06-28 14:20:58 +02:00
Max Bruckner 56f2bc6f3e handle null pointers: cJSON_PrintPreallocated 2017-06-28 14:20:47 +02:00
Max Bruckner cdc35ebf88 handle null pointers: cJSON_AddItemToObject 2017-06-28 14:20:34 +02:00
Max Bruckner 2a3a313f83 cJSON_PrintBuffered: Fix potential memory leak 2017-06-27 23:10:19 +02:00
Max Bruckner a2a2411b12 Release version 1.5.5 2017-06-14 18:07:25 +02:00
Max Bruckner 03ba72faec cJSON_Compare: Fix comparison of objects
It did consider two arrays equal if one is a subset of te other one,
which is incorrect.

See #180
2017-06-14 17:48:56 +02:00
Max Bruckner 569aa060c6 cJSON_Compare: Fix comparison of arrays
It did consider two arrays equal if one is a prefix of the other one,
which is incorrect.

See #180
2017-06-14 17:48:56 +02:00
Max Bruckner 9189b3322a Release v1.5.4 2017-06-04 21:31:45 +02:00
Max Bruckner 00d5e225a6 Release version 1.5.3 2017-05-22 22:59:32 +02:00
Max Bruckner 9ecc96878f fix #174: cJSON_ReplaceItemInObject doesn't copy name 2017-05-22 22:55:05 +02:00
Max Bruckner de5df3e56f Release version 1.5.2 2017-05-10 02:25:25 +02:00
Max Bruckner a167d9e381 Fix reading buffer overflow in parse_string 2017-05-10 02:09:01 +02:00
Max Bruckner 186cce3ece Fix -Wcomma 2017-05-10 00:52:33 +02:00
Max Bruckner 6c9f76c100 Release version 1.5.1 2017-05-06 08:42:59 +02:00
Max Bruckner 1217ca9e9f Release version 1.5.0 2017-05-02 02:34:55 +02:00
Max Bruckner 2d6a2e0133 Merge branch 'develop' prepare v1.5.0 2017-05-02 02:30:26 +02:00
Max Bruckner dede4e3246 Add cJSON_ReplaceItemInObjectCaseSensitive 2017-05-02 01:18:55 +02:00
Max Bruckner 8b953d1202 Add cJSON_ReplaceItemViaPointer 2017-05-02 01:18:55 +02:00
Max Bruckner 2d07bbc9b2 Add cJSON_DeleteItemFromObjectCaseSensitive 2017-05-02 00:36:10 +02:00
Max Bruckner 8816a568ab Add cJSON_DetachItemFromObjectCaseSensitive 2017-05-02 00:34:17 +02:00
Max Bruckner 33193ea557 Internal function get_array_item 2017-05-02 00:27:33 +02:00
Max Bruckner acb0ca88df Use cJSON_DetachItemViaPointer internally 2017-05-01 23:59:14 +02:00
Max Bruckner c24c3e0285 Add cJSON_DetachItemViaPointer 2017-05-01 23:58:04 +02:00
Max Bruckner 87fad25c2b Merge pull request #153 from DeboraG/print_number_prec
cJSON: Fix print_number to print significant digits of doubles
2017-04-29 19:56:58 +02:00
Debora Grosse a69ad22639 Remove test for negative zero, as -0 is acceptable output 2017-04-29 13:08:10 -04:00
Max Bruckner 949c083315 Move 'hooks' parameter into buffers (parse/print) 2017-04-27 02:48:28 +02:00
Max Bruckner c4c217f2ce Move 'format' into printbuffer 2017-04-27 02:21:09 +02:00
Max Bruckner 79f30800ec Move print depth into printbuffer 2017-04-27 02:10:03 +02:00
Max Bruckner e0d3a8a265 Limit nesting depth to 1000 and make it configurable. 2017-04-27 01:57:45 +02:00
Debora Grosse 3fc9bc0648 cJSON: Fix print_number to print significant digits of doubles 2017-04-20 10:55:09 -04:00
Max Bruckner 05f75e360b Release Version 1.4.7 2017-04-18 21:35:21 +02:00
Max Bruckner 02a05eea4e cJSON: Add cJSON_malloc and cJSON_free 2017-04-12 20:50:03 +02:00
Max Bruckner 6ac896d8d2 cJSON_Compare: New function to compare json 2017-04-08 17:57:36 +02:00
Max Bruckner 2a25abbf2a Deduplicate code for cJSON_GetObjectItem 2017-04-08 17:57:36 +02:00
Max Bruckner e9803341d5 simplify and rename cJSON_strcasecmp
Two NULL strings should not be considered equal for the purpose of
cJSON.
2017-04-08 17:57:36 +02:00
Max Bruckner 6c3df7eb59 cJSON_ParseWithOpts: Fix -Wmissing-field-initializers 2017-04-08 17:56:30 +02:00
Pawel Winogrodzki 2148e3277a Renaming "min" to "cjson_min". 2017-04-08 17:56:29 +02:00
Pawel Winogrodzki c786cd9714 Adding back "const". 2017-04-08 17:56:29 +02:00
Pawel Winogrodzki 238ceec175 Fixing all W4-level warnings. 2017-04-08 17:56:29 +02:00
Max Bruckner 6702037b68 cJSON_Delete: Improve readability 2017-04-08 17:56:28 +02:00
Max Bruckner eb5000ba61 cJSON_strdup: improve readability 2017-04-08 17:56:28 +02:00
Max Bruckner 655c26ada1 cJSON_strcasecmp: Improve readability 2017-04-08 17:56:28 +02:00
Max Bruckner 218b0c8dcf cJSON_Print: Use reallocate if available
This can reduce worst case peak memory usage by 30% depending on the
realloc implementation.
2017-04-08 17:56:28 +02:00
Max Bruckner 281df6997c Update copyright 2017-04-08 17:56:27 +02:00
Max Bruckner 56a32f9ecc Use error_position instead of error pointer internally 2017-04-08 17:56:27 +02:00
Max Bruckner 2683589d93 parser: Construct error pointer from buffer offset 2017-04-08 17:56:26 +02:00