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; break;
case json_type_string: 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; break;
case json_type_object: case json_type_object:

View File

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

View File

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