Commit Graph

62 Commits

Author SHA1 Message Date
Max Bruckner
d67b008d4b decode_array_index_from_pointer: parse manually
This allows checking for leading zeroes and invalid characters after the index
2017-04-12 12:06:27 +02:00
Max Bruckner
c66342d871 cJSON_Utils: Use enum for opcode 2017-04-12 11:36:14 +02:00
Max Bruckner
c960b2b853 cJSON_Utils: Fix size_t support of cJSONUtils_GetPointer 2017-04-12 11:21:48 +02:00
Max Bruckner
3056d85f01 cJSON_Utils: Use new helper function 2017-04-12 11:21:21 +02:00
Max Bruckner
b470d918f3 cJSONUtils: add decode_array_index_from_pointer as common helper function 2017-04-12 11:07:21 +02:00
Max Bruckner
8efb287ae2 cJSONUtils_ApplyPatches: Fail if removal failed 2017-04-12 10:44:29 +02:00
Max Bruckner
a1602f484b cJSONUtils_ApplyPatches: Don't accept invalid array indices 2017-04-12 10:34:15 +02:00
Max Bruckner
d058a9cd8f cJSON_ApplyPatches: Don't allow adding to array out of bounds 2017-04-11 17:40:43 +02:00
Max Bruckner
62ba68fc7d cJSONUtils_ApplyPatches: Fix not accepting arrays
This was completely broken, arrays weren't accepted.
2017-04-11 16:38:51 +02:00
Max Bruckner
281df6997c Update copyright 2017-04-08 17:56:27 +02:00
Max Bruckner
795c3acabe cJSON_Utils: Fix potential null pointer dereference
Found by coverity
2017-04-05 17:36:25 +02:00
Max Bruckner
466eb8e3f8 Fix wconversion with old gcc (e.g. 4.3) 2017-03-18 17:52:04 +01:00
Max Bruckner
5f783fff11 cJSON_Utils: Add gcc pragma to use default visibility for system headers 2017-03-03 00:45:50 +01:00
Max Bruckner
b056d7cb74 Add -Wcomma compiler flag 2017-03-01 11:57:06 +01:00
Max Bruckner
024f690289 Merge pull request #116 from mjerris/fschanges
add CJSON_DECLARE macros to support gcc visibility and windows dllexport
2017-02-27 21:51:55 +01:00
Mike Jerris
039b1cc653 add CJSON_PUBLIC macro to public functions to support visibility and dllimport/dllexport 2017-02-27 13:47:06 -06:00
Max Bruckner
ed8dc53699 cJSON_Utils: Use new typecheck functions 2017-02-26 21:26:34 +01:00
Max Bruckner
c3bd4463be cJSON_Utils: Guard use of %lu format string for size_t 2017-02-15 13:09:32 +01:00
Max Bruckner
9d7e8f1175 cJSON_Utils: Add casts to unsigned long, fix #103
Thanks @rrvirtual for the suggestion.
2017-02-09 15:09:06 +01:00
Max Bruckner
4047de4f6e fix potential NULL dereferences found by coverity 2017-02-08 03:00:44 +01:00
Max Bruckner
9ed906758e fix null pointer dereferences found by coverity 2017-02-07 19:07:18 +01:00
Max Bruckner
3d3bfc6a4d Compiler flag -Wconversion
Makes type conversions explicit, if they alter a value
2017-02-03 18:36:13 +01:00
Max Bruckner
ecd5678527 Change all internal sizes to size_t 2017-02-03 18:36:12 +01:00
Max Bruckner
28b9ba4334 Change all internal strings to unsigned char* 2017-02-03 15:59:00 +01:00
Max Bruckner
ff0681e4fd Utils: PatchDetach: Check for invalid patch string 2017-01-30 19:30:16 +01:00
Max Bruckner
a2309a509d Utils: InplaceDecodePointerString: Check for NULL 2017-01-30 19:29:52 +01:00
Max Bruckner
b88da9b0de Initialize all variables 2016-11-19 17:29:21 +07:00
Max Bruckner
a5ff796c20 Replace 0 with more expressive NULL or '\0' 2016-11-19 17:28:14 +07:00
Max Bruckner
d47339e274 cJSON_Utils: Fix comparing of cJSON_ types
When comparing the type, it has to be masked with 0xFF because of
cJSON_IsConst and cJSON_IsReference.
2016-11-18 22:52:52 +07:00
Max Bruckner
1dff6f160f cJSON_Utils: own strdup for C89 compatibility 2016-11-08 00:57:57 +07:00
Max Bruckner
c0b17dc651 reformatting: cJSONUtils_GenerateMergePatch 2016-10-29 22:44:45 +07:00
Max Bruckner
01a813f642 reformatting: cJSONUtils_MergePatch 2016-10-29 22:44:45 +07:00
Max Bruckner
c65514fcb4 reformatting: cJSONUtils_SortObject 2016-10-29 22:44:44 +07:00
Max Bruckner
8964287ec4 reformatting: cJSONUtils_SortList 2016-10-29 22:44:44 +07:00
Max Bruckner
ec9d1cfedb reformatting: cJSONUtils_GeneratePatches 2016-10-29 22:44:44 +07:00
Max Bruckner
8879ed5dbc reformatting: cJSONUtils_CompareToPatch 2016-10-29 22:44:44 +07:00
Max Bruckner
52e53acfc3 reformatting: cJSON_AddPatchToArray 2016-10-29 22:44:43 +07:00
Max Bruckner
d6a6abeca0 reformatting: cJSONUtils_GeneratePatch 2016-10-29 22:44:43 +07:00
Max Bruckner
e8a67f0e4b reformatting: cJSONUtils_ApplyPatches 2016-10-29 22:44:43 +07:00
Max Bruckner
d883f9b9b0 reformatting: cJSONUtils_ApplyPatch 2016-10-29 22:44:43 +07:00
Max Bruckner
284a8017b7 reformatting: cJSONUtils_Compare 2016-10-29 22:44:43 +07:00
Max Bruckner
1235c62235 reformatting: cJSONUtils_PatchDetach 2016-10-29 22:44:42 +07:00
Max Bruckner
a21a124d40 reformatting: cJSONUtils_InplaceDecodePointerString 2016-10-29 22:44:42 +07:00
Max Bruckner
5713edb710 reformatting: cJSON_Utils_GetPointer
NOTE: This can change the assembly slightly, in my case it reordered two
instructions. This is due to the change from:

    which = (10 * which) + *pointer++ - '0';

to

    which = (10 * which) + (*pointer++ - '0');

This means that after the change, the subtraction runs before the
addition instead of after that. That shouldn't change the behavior
though.
2016-10-29 22:42:04 +07:00
Max Bruckner
158ddceab3 reformatting: cJSONUtils_FindPointerFromObjectTo 2016-10-14 00:05:58 +07:00
Max Bruckner
7771225e35 reformatting: cJSONUtils_PointerEncodedstrcpy 2016-10-13 23:47:40 +07:00
Max Bruckner
3f6716e63a reformatting: cJSONUtils_PointerEncodedstrlen 2016-10-13 23:42:34 +07:00
Max Bruckner
2f002879c0 reformatting: cJSONUtils_Pstrcasecmp 2016-10-13 23:40:02 +07:00
Max Bruckner
cb6445f47b reformatting: cJSON_strcasecmp 2016-10-13 23:26:53 +07:00
Dave Gamble
3a7bd6924a Utility function to generate the patch between two objects. 2016-05-29 18:16:19 +01:00