jshn: jshn_parse: fix leaks of memory pointed to by 'obj'
Fixes following leaks of memory: 352 (72 direct, 280 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3 at 0x4C31B25: calloc by 0x5042E1F: json_object_new_array by 0x5044B02: json_tokener_parse_ex by 0x5045316: json_tokener_parse_verbose by 0x504537D: json_tokener_parse by 0x401AA9: jshn_parse (jshn.c:179) by 0x401977: main (jshn.c:378) 752 (72 direct, 680 indirect) bytes in 1 blocks are definitely lost in loss record 6 of 6 at 0x4C31B25: calloc by 0x50424CF: json_object_new_object by 0x5044B38: json_tokener_parse_ex by 0x5045316: json_tokener_parse_verbose by 0x504537D: json_tokener_parse by 0x401AA9: jshn_parse (jshn.c:179) by 0x401977: main (jshn.c:380) Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
c42f11cc7c
commit
cb698e3540
1 changed files with 3 additions and 0 deletions
3
jshn.c
3
jshn.c
|
@ -178,12 +178,15 @@ static int jshn_parse(const char *str)
|
|||
|
||||
obj = json_tokener_parse(str);
|
||||
if (!obj || json_object_get_type(obj) != json_type_object) {
|
||||
if (obj)
|
||||
json_object_put(obj);
|
||||
fprintf(stderr, "Failed to parse message data\n");
|
||||
return 1;
|
||||
}
|
||||
fprintf(stdout, "json_init;\n");
|
||||
add_json_object(obj);
|
||||
fflush(stdout);
|
||||
json_object_put(obj);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue