Fix to use valid GList in app_dead handler 62/221862/4 submit/tizen/20200109.082013
authorjiyong.min <jiyong.min@samsung.com>
Mon, 6 Jan 2020 01:52:45 +0000 (10:52 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Wed, 8 Jan 2020 08:16:07 +0000 (17:16 +0900)
Change-Id: I752ce18675b1f671e21c323b57a5600e6ea40505

src/media_controller_ipc.c
svc/media_controller_svc.c

index 067e9a8..591a383 100644 (file)
@@ -84,19 +84,15 @@ static void __mc_ipc_signal_cb(GDBusConnection *connection,
                request_id = NULL;
 
        key = __make_key_for_map(interface_name, signal_name);
-       mc_retm_if(!key, "key is NULL");
-
        found_item = g_list_find_custom(*listener_list, key, __find_listener_by_key);
-       if (!found_item) {
+       if (found_item && found_item->data) {
+               listener = found_item->data;
+               mc_secure_debug("Received : [%s] (req_id = %s) from %s.%s", message, request_id, listener->interface_name, listener->signal_name);
+               listener->callback(listener->interface_name, listener->signal_name, message, request_id, listener->user_data);
+       } else {
                mc_secure_error("listener[%s] not found", key);
-               MC_SAFE_FREE(key);
-               return;
        }
 
-       listener = found_item->data;
-       mc_secure_debug("Received : [%s] (req_id = %s) from %s.%s", message, request_id, listener->interface_name, listener->signal_name);
-       listener->callback(listener->interface_name, listener->signal_name, message, request_id, listener->user_data);
-
        MC_SAFE_FREE(key);
 }
 
index 30aa455..79e1cc1 100644 (file)
@@ -543,7 +543,7 @@ static int _mc_service_app_dead_handler(int pid, void *data)
                                mc_secure_error("Fail to notify deactivated server");
                }
 
-               _app_data->cmds_to_send = g_list_remove_link(_app_data->cmds_to_send, iter);
+               _service_data->connected_apps = g_list_remove_link(_service_data->connected_apps, iter);
                g_list_free_full(iter, __mc_destroy_connected_apps);
                mc_secure_error("[No-error] decreased connection count [%d]", --g_connection_cnt);
        }