fix #55 memory leak in cJSON_ReplaceItemInObject
This commit is contained in:
parent
9e31049159
commit
0d10e279c8
6
cJSON.c
6
cJSON.c
@ -1861,6 +1861,12 @@ void cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON *newitem
|
|||||||
}
|
}
|
||||||
if(c)
|
if(c)
|
||||||
{
|
{
|
||||||
|
/* free the old string if not const */
|
||||||
|
if (!(newitem->type & cJSON_StringIsConst) && newitem->string)
|
||||||
|
{
|
||||||
|
cJSON_free(newitem->string);
|
||||||
|
}
|
||||||
|
|
||||||
newitem->string = cJSON_strdup(string);
|
newitem->string = cJSON_strdup(string);
|
||||||
cJSON_ReplaceItemInArray(object, i, newitem);
|
cJSON_ReplaceItemInArray(object, i, newitem);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user