Modify to prevent reuse of values from released handles 22/241322/3 accepted/tizen/unified/20200820.133526 submit/tizen/20200820.043357
authorjiyong.min <jiyong.min@samsung.com>
Wed, 19 Aug 2020 06:44:20 +0000 (15:44 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Wed, 19 Aug 2020 06:50:42 +0000 (15:50 +0900)
Change-Id: I38d37136f45e50d7c5557dea55d097a1d67ad91e

src/media_controller_client.c
src/media_controller_server.c

index f9697e3..e24d67b 100644 (file)
@@ -470,26 +470,26 @@ static int __mc_client_destroy(media_controller_client_s *mc_client)
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       mc_retvm_if(!mc_client, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid mc_client");
 
-       /*Send Disconnection Msg to Server*/
        ret = _mc_ipc_send_message_to_server(MC_MSG_SERVER_DISCONNECTION, MC_PRIV_TYPE_CLIENT, mc_client->client_name);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Failed to _mc_ipc_send_message_to_server [%d]", ret);
 
-       if (mc_client->dconn) {
-               ret = _mc_ipc_unref_dbus_connection(mc_client->dconn, &mc_client->dref_count);
-               if (ret != MEDIA_CONTROLLER_ERROR_NONE)
-                       mc_error("fail to _mc_ipc_unref_dbus_connection");
-       }
+       ret = _mc_ipc_unref_dbus_connection(mc_client->dconn, &mc_client->dref_count);
+       if (ret != MEDIA_CONTROLLER_ERROR_NONE)
+               mc_error("fail to _mc_ipc_unref_dbus_connection");
+       mc_client->dconn = NULL;
 
-       if (mc_client->db_handle)
-               mc_db_disconnect(mc_client->db_handle);
+       mc_db_disconnect(mc_client->db_handle);
+       mc_client->db_handle = NULL;
 
-       if (mc_client->listeners != NULL)
-               g_list_free(mc_client->listeners);
+       g_list_free(mc_client->listeners);
+       mc_client->listeners = NULL;
 
        g_free(mc_client->client_name);
+       mc_client->client_name = NULL;
+
        g_free(mc_client);
 
        return ret;
index 23cd1e8..d6840cc 100644 (file)
@@ -123,30 +123,32 @@ static int __mc_server_destoy(media_controller_server_s *mc_server)
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       mc_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
+       mc_retvm_if(!mc_server, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid mc_server");
 
-       /*Send Disconnection Msg to Server*/
        ret = _mc_ipc_send_message_to_server(MC_MSG_SERVER_DISCONNECTION, MC_PRIV_TYPE_SERVER, mc_server->server_name);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Failed to _mc_ipc_send_message_to_server [%d]", ret);
 
-       if (mc_server->dconn) {
-               ret = _mc_ipc_unref_dbus_connection(mc_server->dconn, &mc_server->dref_count);
-               if (ret != MEDIA_CONTROLLER_ERROR_NONE)
-                       mc_error("fail to _mc_ipc_unref_dbus_connection");
-       }
+       ret = _mc_ipc_unref_dbus_connection(mc_server->dconn, &mc_server->dref_count);
+       if (ret != MEDIA_CONTROLLER_ERROR_NONE)
+               mc_error("fail to _mc_ipc_unref_dbus_connection");
+       mc_server->dconn = NULL;
 
-       if (mc_server->db_handle)
-               mc_db_disconnect(mc_server->db_handle);
+       mc_db_disconnect(mc_server->db_handle);
+       mc_server->db_handle = NULL;
 
-       if (mc_server->listeners != NULL)
-               g_list_free(mc_server->listeners);
-
-       g_free(mc_server->server_name);
+       g_list_free(mc_server->listeners);
+       mc_server->listeners = NULL;
 
        mc_metadata_destroy(mc_server->metadata);
+       mc_server->metadata = NULL;
 
        g_free(mc_server->playback.index);
+       mc_server->playback.index = NULL;
+
+       g_free(mc_server->server_name);
+       mc_server->server_name = NULL;
+
        g_free(mc_server);
 
        return ret;