fix memory leaks

This commit is contained in:
Max Bruckner
2015-10-14 02:43:18 +02:00
parent 1a20eb8494
commit 58bc383b28
2 changed files with 15 additions and 4 deletions

View File

@ -186,7 +186,7 @@ static int cJSONUtils_ApplyPatch(cJSON *object,cJSON *patch)
cJSONUtils_InplaceDecodePointerString(childptr);
/* add, remove, replace, move, copy, test. */
if (!parent) {free(parentptr); return 9;} /* Couldn't find object to add to. */
if (!parent) {free(parentptr); cJSON_Delete(value); return 9;} /* Couldn't find object to add to. */
else if (parent->type==cJSON_Array)
{
if (!strcmp(childptr,"-")) cJSON_AddItemToArray(parent,value);
@ -197,6 +197,10 @@ static int cJSONUtils_ApplyPatch(cJSON *object,cJSON *patch)
cJSON_DeleteItemFromObject(parent,childptr);
cJSON_AddItemToObject(parent,childptr,value);
}
else
{
cJSON_Delete(value);
}
free(parentptr);
return 0;
}