json_object_deep_copy: fix deep copy of strings containing '\0'

This commit is contained in:
Ramiro Polla
2018-12-02 00:23:30 +01:00
parent 1f46d2f40f
commit ab3e40b37c
3 changed files with 3 additions and 1 deletions

View File

@@ -1388,7 +1388,7 @@ int json_c_shallow_copy_default(json_object *src, json_object *parent, const cha
break;
case json_type_string:
*dst = json_object_new_string(get_string_component(src));
*dst = json_object_new_string_len(get_string_component(src), src->o.c_string.len);
break;
case json_type_object:

View File

@@ -18,6 +18,7 @@ static const char *json_str1 =
" \"GlossDiv\": {"
" \"title\": \"S\","
" \"null_obj\": null, "
" \"null_str\": \" \\u0000 \","
" \"GlossList\": {"
" \"GlossEntry\": {"
" \"ID\": \"SGML\","

View File

@@ -13,6 +13,7 @@ Printing JSON objects for visual inspection
"GlossDiv":{
"title":"S",
"null_obj":null,
"null_str":" \u0000 ",
"GlossList":{
"GlossEntry":{
"ID":"SGML",