Commit Graph

145 Commits

Author SHA1 Message Date
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
5baa77f86c cJSON_Parse{,WithOpts}: Skip UTF-8 (Byte Order Marks) 2017-07-03 22:28:04 +02:00
45e1278acb tests/print_number: Add test with 17 digits of precision 2017-06-28 17:28:50 +02:00
21733eb02e tests/print_number: Use proper double literals 2017-06-28 17:28:49 +02:00
a9ce4e6bbc Add warning -Wswitch-enum 2017-06-28 17:28:49 +02:00
4e0c119391 Add warning -Wmissing-variable-declarations 2017-06-28 17:28:49 +02:00
18ad8a8770 misc_utils_tests: call all utils function with NULL pointers 2017-06-28 16:01:20 +02:00
bdd5ff7ad6 misc_tests: Call all functions with NULL pointers 2017-06-28 14:22:42 +02:00
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
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
bfbd8fe0d8 tests/parse_hex4: Fix GCC 7 compiler warning (fixes #179) 2017-06-04 21:29:14 +02:00
82295f9e4f Update Unity 2017-06-04 19:36:46 +02:00
9ecc96878f fix #174: cJSON_ReplaceItemInObject doesn't copy name 2017-05-22 22:55:05 +02:00
b537ca70a3 old_utils_tests: Remove leftover unused attribute 2017-05-10 01:15:28 +02:00
a01267c0a4 Update json-patch-tests 2017-05-02 01:56:12 +02:00
e1f6470dae json_patch_tests.c: Use case sensitive functions 2017-05-02 01:54:49 +02:00
8b953d1202 Add cJSON_ReplaceItemViaPointer 2017-05-02 01:18:55 +02:00
c24c3e0285 Add cJSON_DetachItemViaPointer 2017-05-01 23:58:04 +02:00
b00ecfd311 Merge commit '48b390994642e59eb1a461922a646b4c6544693c' into develop 2017-05-01 18:02:03 +02:00
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
28570ad095 Add test for cJSON_SetNumberHelper 2017-04-28 14:41:24 +02:00
7fe8d53c19 Use json-patch-tests to test generation of tests with cJSON_Utils 2017-04-28 01:59:54 +02:00
18b4e2f941 Update Unity to release 2.4.1 2017-04-27 02:55:04 +02:00
949c083315 Move 'hooks' parameter into buffers (parse/print) 2017-04-27 02:48:28 +02:00
c4c217f2ce Move 'format' into printbuffer 2017-04-27 02:21:09 +02:00
79f30800ec Move print depth into printbuffer 2017-04-27 02:10:03 +02:00
e0d3a8a265 Limit nesting depth to 1000 and make it configurable. 2017-04-27 01:57:45 +02:00
3fc9bc0648 cJSON: Fix print_number to print significant digits of doubles 2017-04-20 10:55:09 -04:00
6ccfd5d603 tests: Move most of test_utils.c to old_utils_tests 2017-04-18 14:11:14 +02:00
49ebc85e7a Move ApplyPatch tests from test_utils.c to json. 2017-04-13 20:15:25 +02:00
ba7b48b3f3 Enable json-patch-tests tests 2017-04-12 20:50:04 +02:00
8c900b9e07 Merge commit '7276f4df051bc58af8a2da7d3199517d43d37582' as 'tests/json-patch-tests' 2017-04-11 14:45:28 +02:00
6ac896d8d2 cJSON_Compare: New function to compare json 2017-04-08 17:57:36 +02:00
bc0bb7c224 parse_with_opts: test return_parse_end 2017-04-08 17:56:27 +02:00
770e8263a5 tests for cJSON_ParseWithOpts 2017-04-08 17:56:27 +02:00
2683589d93 parser: Construct error pointer from buffer offset 2017-04-08 17:56:26 +02:00
87a204ed0b parse_functions: Return booleans instead of pointers 2017-04-08 17:56:26 +02:00
778a0c146f parse_string: Use parsebuffer 2017-04-08 17:56:25 +02:00
f69b109c9f parse_number: Use parse_buffer 2017-04-08 17:56:25 +02:00
fef1c45b92 parse_object: Use parse_buffer 2017-04-08 17:56:25 +02:00
033a542532 parse_array: Use parsebuffer 2017-04-08 17:56:25 +02:00
fd0320cf54 parse_value: Use parse_buffer 2017-04-08 17:56:24 +02:00
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
84237ff48e Replace sizeof('\0') with sizeof("")
Because sizeof('\0') is actually sizeof(int) not sizeof(char).
2017-04-08 01:29:19 +02:00
2f65e80a34 Fix internal compiler error in GCC on x86 2017-03-28 17:32:20 +02:00
4ec6e76ea2 tests: print_number: Fix build on 32bit ppc (and potentially others) 2017-03-18 13:25:18 +01:00
30e1e7af7c CMake: Support cmake down to 2.8.5 2017-03-16 01:09:26 +01:00
76e5296d0d CMake: Fix per target disabling of compiler flags
The compiler flag detection was working incorrectly.
2017-03-16 00:22:53 +01:00
c597601cf1 tests: run cJSON_test{,_utils} along with the other tests 2017-03-15 20:11:19 +01:00
030d0c14cc Merge branch 'develop' (Release 1.4.0) 2017-03-03 23:26:52 +01:00