Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.openwrt.org/project/libubox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/jshn.c
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2019-11-19 16:09:43 +0300
committerPetr Štetiar <ynezz@true.cz>2019-11-24 15:26:58 +0300
commitcb698e35409b898aedbbc3c673a0055dc1520ef6 (patch)
tree566f2de34b2ab4018e14d828d334c8865045b31d /jshn.c
parentc42f11cc7c0f0ec6571af06ada6ff0e8882f4fde (diff)
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>
Diffstat (limited to 'jshn.c')
-rw-r--r--jshn.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/jshn.c b/jshn.c
index 2eebe6c..9639951 100644
--- a/jshn.c
+++ b/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;
}