diff --git a/cJSON.c b/cJSON.c index 4e30384..bba72d8 100644 --- a/cJSON.c +++ b/cJSON.c @@ -2153,7 +2153,7 @@ cJSON *cJSON_Duplicate(const cJSON *item, cjbool recurse) } if (item->string) { - newitem->string = cJSON_strdup(item->string); + newitem->string = (item->type&cJSON_StringIsConst) ? item->string : cJSON_strdup(item->string); if (!newitem->string) { cJSON_Delete(newitem);