default_backend: fix memory leak after calling json_tokener_parse() 09/320509/3 accepted/tizen_unified tizen accepted/tizen/unified/20250305.160218
authorduna.oh <duna.oh@samsung.com>
Tue, 4 Mar 2025 10:47:48 +0000 (19:47 +0900)
committerduna.oh <duna.oh@samsung.com>
Tue, 4 Mar 2025 11:18:20 +0000 (20:18 +0900)
Change-Id: I832ee2728974c182c1e7597eb30d6b7306eda7c0

backends/default/default_backend.c

index 529d275a4474c5daa5dbbd785795cff811e4f222..e03dc71247a0e3c2a226db3b55cec6dd3e4e1e82 100644 (file)
@@ -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) {