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
Max Bruckner
c837177a56
utf16_literal_to_utf8: Support \u0000
2017-04-08 17:56:26 +02:00
Max Bruckner
80bc7652ae
cJSON_ParseWithOptions: Remove end pointer
2017-04-08 17:56:26 +02:00
Max Bruckner
87a204ed0b
parse_functions: Return booleans instead of pointers
2017-04-08 17:56:26 +02:00
Max Bruckner
c9739c59fd
Replace strchr with switch case
...
This should improve performance and improve readability.
2017-04-08 17:56:25 +02:00
Max Bruckner
778a0c146f
parse_string: Use parsebuffer
2017-04-08 17:56:25 +02:00
Max Bruckner
f69b109c9f
parse_number: Use parse_buffer
2017-04-08 17:56:25 +02:00
Max Bruckner
fef1c45b92
parse_object: Use parse_buffer
2017-04-08 17:56:25 +02:00
Max Bruckner
033a542532
parse_array: Use parsebuffer
2017-04-08 17:56:25 +02:00
Max Bruckner
fd0320cf54
parse_value: Use parse_buffer
2017-04-08 17:56:24 +02:00
Max Bruckner
0f98214e71
parsebuffer: type and macros
2017-04-08 17:56:24 +02:00
Max Bruckner
06a2326e3b
cJSON_ParseWithOpts: Use goto fail
2017-04-08 17:56:24 +02:00
Max Bruckner
11131b9ced
cJSON_ParseWithOptions: Improve variable names and intent
2017-04-08 17:56:24 +02:00
Max Bruckner
99db5db9a4
Release version 1.4.6
2017-04-08 17:54:55 +02:00
Max Bruckner
c08f7e1d29
print_number: Make locale independent
...
This first prints the number into a temporary buffer and then copies the
number to the output.
A positive side effect is that cJSON no longer reserves more space for
the number in the output than is necessary.
2017-04-08 03:38:49 +02:00
Max Bruckner
71b96afc27
print_number: Fix comment (missing word 'zeroes')
2017-04-08 02:46:24 +02:00
Max Bruckner
749fefc0c4
Make parse_number locale independent
2017-04-08 02:41:36 +02:00
Max Bruckner
c784f76c77
cJSON_strdup: Use sizeof("") instead of 1
2017-04-08 01:29:19 +02:00
Max Bruckner
84237ff48e
Replace sizeof('\0') with sizeof("")
...
Because sizeof('\0') is actually sizeof(int) not sizeof(char).
2017-04-08 01:29:19 +02:00
Max Bruckner
2683d4d987
ensure: Fix overflow detection
2017-04-05 16:35:55 +02:00
Max Bruckner
3a20692c18
Release version 1.4.5
2017-03-28 17:39:39 +02:00
Max Bruckner
ef34500693
cJSON_SetNumberHelper: Fix valueint, closes #138
...
Thanks @mmkeeper
2017-03-28 17:29:52 +02:00
Max Bruckner
b0dfcde04c
Release Version 1.4.4
2017-03-23 22:13:25 +01:00
Max Bruckner
1934059554
ensure: Validate buffer offset
2017-03-23 22:01:38 +01:00
Max Bruckner
cc84a446be
ensure: Fix potential off by one error.
2017-03-23 22:01:16 +01:00
Max Bruckner
e58f7ec027
ensure: Fix potential overflow of size_t
...
This could only happen if the maximum SIZE_T is not at least 2 times
bigger than INT_MAX. Not sure if this can happen on real systems, but
better be safe then sorry.
2017-03-23 20:26:29 +01:00
Max Bruckner
b7ce06224b
Release version 1.4.3
2017-03-19 11:05:33 +01:00
Max Bruckner
227d3398d6
Fix the pragmas for Wcast-qual with old gcc versions
2017-03-18 17:52:33 +01:00
Max Bruckner
466eb8e3f8
Fix wconversion with old gcc (e.g. 4.3)
2017-03-18 17:52:04 +01:00