From f2d598d4c8cfe328361d43a96453aee7fa7e652e Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Tue, 4 Mar 2025 19:47:48 +0900 Subject: [PATCH] default_backend: fix memory leak after calling json_tokener_parse() Change-Id: I832ee2728974c182c1e7597eb30d6b7306eda7c0 --- backends/default/default_backend.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backends/default/default_backend.c b/backends/default/default_backend.c index 529d275..e03dc71 100644 --- a/backends/default/default_backend.c +++ b/backends/default/default_backend.c @@ -189,7 +189,7 @@ static default_ani_info * _read_json(const char *path) { char *buffer, *type; - json_object *root_obj, *data_obj, *frame_obj, *frame_data_obj, *led_obj, *led_data_obj; + json_object *root_obj = NULL, *data_obj, *frame_obj, *frame_data_obj, *led_obj, *led_data_obj; default_ani_info *ani_info = NULL; int frame_id = 0, frame_len = 0, led_id = 0, led_len = 0; int data_size = 0, i, j; @@ -255,10 +255,12 @@ _read_json(const char *path) } } + json_object_put(root_obj); free(buffer); return ani_info; error: + if (root_obj) json_object_put(root_obj); if (buffer) free(buffer); if (ani_info) { if (ani_info->frames) { -- 2.34.1