Преглед изворни кода

cJSON_Utils: Use cJSON_free and cJSON_malloc

Max Bruckner пре 8 година
родитељ
комит
609bb75421
1 измењених фајлова са 13 додато и 13 уклоњено
  1. 13 13
      cJSON_Utils.c

+ 13 - 13
cJSON_Utils.c

@@ -36,7 +36,7 @@ static unsigned char* cJSONUtils_strdup(const unsigned char* str)
     unsigned char *copy = NULL;
 
     len = strlen((const char*)str) + 1;
-    if (!(copy = (unsigned char*)malloc(len)))
+    if (!(copy = (unsigned char*)cJSON_malloc(len)))
     {
         return NULL;
     }
@@ -159,33 +159,33 @@ CJSON_PUBLIC(char *) cJSONUtils_FindPointerFromObjectTo(cJSON *object, cJSON *ta
             if (cJSON_IsArray(object))
             {
                 /* reserve enough memory for a 64 bit integer + '/' and '\0' */
-                unsigned char *ret = (unsigned char*)malloc(strlen((char*)found) + 23);
+                unsigned char *ret = (unsigned char*)cJSON_malloc(strlen((char*)found) + 23);
                 /* check if conversion to unsigned long is valid
                  * This should be eliminated at compile time by dead code elimination
                  * if size_t is an alias of unsigned long, or if it is bigger */
                 if (c > ULONG_MAX)
                 {
-                    free(found);
+                    cJSON_free(found);
                     return NULL;
                 }
                 sprintf((char*)ret, "/%lu%s", (unsigned long)c, found); /* /<array_index><path> */
-                free(found);
+                cJSON_free(found);
 
                 return (char*)ret;
             }
             else if (cJSON_IsObject(object))
             {
-                unsigned char *ret = (unsigned char*)malloc(strlen((char*)found) + cJSONUtils_PointerEncodedstrlen((unsigned char*)obj->string) + 2);
+                unsigned char *ret = (unsigned char*)cJSON_malloc(strlen((char*)found) + cJSONUtils_PointerEncodedstrlen((unsigned char*)obj->string) + 2);
                 *ret = '/';
                 cJSONUtils_PointerEncodedstrcpy(ret + 1, (unsigned char*)obj->string);
                 strcat((char*)ret, (char*)found);
-                free(found);
+                cJSON_free(found);
 
                 return (char*)ret;
             }
 
             /* reached leaf of the tree, found nothing */
-            free(found);
+            cJSON_free(found);
             return NULL;
         }
     }
@@ -342,7 +342,7 @@ static cJSON *cJSONUtils_PatchDetach(cJSON *object, const unsigned char *path)
     childptr = (unsigned char*)strrchr((char*)parentptr, '/'); /* last '/' */
     if (childptr == NULL)
     {
-        free(parentptr);
+        cJSON_free(parentptr);
         return NULL;
     }
     /* split strings */
@@ -361,7 +361,7 @@ static cJSON *cJSONUtils_PatchDetach(cJSON *object, const unsigned char *path)
         size_t index = 0;
         if (!decode_array_index_from_pointer(childptr, &index))
         {
-            free(parentptr);
+            cJSON_free(parentptr);
             return NULL;
         }
         ret = detach_item_from_array(parent, index);
@@ -370,7 +370,7 @@ static cJSON *cJSONUtils_PatchDetach(cJSON *object, const unsigned char *path)
     {
         ret = cJSON_DetachItemFromObject(parent, (char*)childptr);
     }
-    free(parentptr);
+    cJSON_free(parentptr);
 
     /* return the detachted item */
     return ret;
@@ -753,7 +753,7 @@ static void cJSONUtils_GeneratePatch(cJSON *patches, const unsigned char *op, co
     cJSON_AddItemToObject(patch, "op", cJSON_CreateString((const char*)op));
     if (suffix)
     {
-        unsigned char *newpath = (unsigned char*)malloc(strlen((const char*)path) + cJSONUtils_PointerEncodedstrlen(suffix) + 2);
+        unsigned char *newpath = (unsigned char*)cJSON_malloc(strlen((const char*)path) + cJSONUtils_PointerEncodedstrlen(suffix) + 2);
         cJSONUtils_PointerEncodedstrcpy(newpath + sprintf((char*)newpath, "%s/", (const char*)path), suffix);
         cJSON_AddItemToObject(patch, "path", cJSON_CreateString((const char*)newpath));
         free(newpath);
@@ -806,7 +806,7 @@ static void cJSONUtils_CompareToPatch(cJSON *patches, const unsigned char *path,
         case cJSON_Array:
         {
             size_t c = 0;
-            unsigned char *newpath = (unsigned char*)malloc(strlen((const char*)path) + 23); /* Allow space for 64bit int. */
+            unsigned char *newpath = (unsigned char*)cJSON_malloc(strlen((const char*)path) + 23); /* Allow space for 64bit int. */
             /* generate patches for all array elements that exist in "from" and "to" */
             for ((void)(c = 0), (void)(from = from->child), to = to->child; from && to; (void)(from = from->next), (void)(to = to->next), c++)
             {
@@ -860,7 +860,7 @@ static void cJSONUtils_CompareToPatch(cJSON *patches, const unsigned char *path,
                 if (!diff)
                 {
                     /* both object keys are the same */
-                    unsigned char *newpath = (unsigned char*)malloc(strlen((const char*)path) + cJSONUtils_PointerEncodedstrlen((unsigned char*)a->string) + 2);
+                    unsigned char *newpath = (unsigned char*)cJSON_malloc(strlen((const char*)path) + cJSONUtils_PointerEncodedstrlen((unsigned char*)a->string) + 2);
                     cJSONUtils_PointerEncodedstrcpy(newpath + sprintf((char*)newpath, "%s/", path), (unsigned char*)a->string);
                     /* create a patch for the element */
                     cJSONUtils_CompareToPatch(patches, newpath, a, b);