Add to free rua info when oom case
authorChanggyu Choi <changyu.choi@samsung.com>
Thu, 16 Dec 2021 07:55:59 +0000 (16:55 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Thu, 16 Dec 2021 08:27:27 +0000 (17:27 +0900)
Change-Id: Ib30716b8a04ff62f515208408d913cccedd199a0
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
src/modules/rua/src/amd_rua.c

index 9c2f4154d20f5b19c870269b33143ddde21309ad..0d24f12915d4cf51a9f42e22101c4a53edc4d344 100644 (file)
@@ -677,17 +677,21 @@ static int __on_launch_app_start_pend(const char *msg, int arg1, int arg2,
                kb = amd_request_get_bundle(req);
                ret = amd_noti_send(AMD_NOTI_MSG_RUA_SAVE_CRITICAL, 0, 0,
                                req, kb);
-               if (ret == 0) {
+               if (ret == 0)
                        rua = __create_rua_data(req, pid);
-                       if (rua && !rua->is_group_mode)
-                               _rua_info_add(kb, pid);
-               }
+
        }
 
        _rua_launch_context_free();
        if (rua) {
-               amd_request_reply_add_extra(reply, "rua",
+               ret = amd_request_reply_add_extra(reply, "rua",
                                rua, __destroy_rua_data);
+               if (ret < 0) {
+                       _E("Failed to add extra");
+                       __destroy_rua_data(rua);
+               } else if (!rua->is_group_mode) {
+                       _rua_info_add(kb, pid);
+               }
        }
 
        return AMD_NOTI_CONTINUE;