jshn: jshn_parse: fix leaks of memory pointed to by 'obj'
[oweals/libubox.git] / jshn.c
diff --git a/jshn.c b/jshn.c
index 2eebe6c3df09520bb7883062b9b90bcf82ed3fb0..963995191a0f16ffd583a81ccb09378e953377dc 100644 (file)
--- 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;
 }