Browse Source

Merge pull request #781 from dddaniel/master

Fix memory leak with emtpy strings in json_object_set_string
tags/json-c-0.17-20230812
Eric Hawicz GitHub 3 years ago
parent
commit
2a2d861bc0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 3 deletions
  1. +10
    -3
      json_object.c

+ 10
- 3
json_object.c View File

@@ -1323,11 +1323,18 @@ static int _json_object_set_string_len(json_object *jso, const char *s, size_t l
// length as int, cap length at INT_MAX.
return 0;

dstbuf = get_string_component_mutable(jso);
curlen = JC_STRING(jso)->len;
if (curlen < 0)
curlen = -curlen;
if (curlen < 0) {
if (len == 0) {
free(JC_STRING(jso)->c_string.pdata);
JC_STRING(jso)->len = curlen = 0;
} else {
curlen = -curlen;
}
}

newlen = len;
dstbuf = get_string_component_mutable(jso);

if ((ssize_t)len > curlen)
{


Loading…
Cancel
Save