diff --git a/cJSON.c b/cJSON.c index b16abae..7c0d9f3 100644 --- a/cJSON.c +++ b/cJSON.c @@ -468,7 +468,6 @@ static const unsigned char *parse_string(cJSON *item, const unsigned char *str, { goto fail; } - item->valuestring = (char*)out; /* assign here so out will be deleted during cJSON_Delete() later */ item->type = cJSON_String; ptr = str + 1; @@ -608,6 +607,8 @@ static const unsigned char *parse_string(cJSON *item, const unsigned char *str, ptr++; } + item->valuestring = (char*)out; + return ptr; fail: