Fix memory leaks
authorWonkyu Kwon <wonkyu.kwon@samsung.com>
Wed, 22 May 2013 04:54:59 +0000 (13:54 +0900)
committerWonkyu Kwon <wonkyu.kwon@samsung.com>
Wed, 24 Jul 2013 08:56:37 +0000 (17:56 +0900)
 - free message in g_source callback

Change-Id: I0bcb25ee8135390774080484f19e3c442e692495

client/ClientChannel.cpp
client/ClientDispatcher.cpp
client/Reader.cpp
client/SEService.cpp
client/Session.cpp

index f7bc165..7426e18 100644 (file)
@@ -319,6 +319,8 @@ namespace smartcard_service_api
                        break;
                }
 
+               delete msg;
+
                return result;
        }
 } /* namespace smartcard_service_api */
index 5161104..4a2e0dc 100644 (file)
@@ -98,10 +98,10 @@ namespace smartcard_service_api
                case Message::MSG_REQUEST_READERS :
                case Message::MSG_REQUEST_SHUTDOWN :
                        {
+                               DispatcherMsg *tempMsg = new DispatcherMsg(msg);
+
                                if (msg->isSynchronousCall() == false)
                                {
-                                       DispatcherMsg *tempMsg = new DispatcherMsg(msg);
-
                                        /* Asynchronous call */
                                        g_idle_add((GSourceFunc)&SEService::dispatcherCallback, (gpointer)tempMsg);
                                }
@@ -116,10 +116,10 @@ namespace smartcard_service_api
                /* Reader requests */
                case Message::MSG_REQUEST_OPEN_SESSION :
                        {
+                               DispatcherMsg *tempMsg = new DispatcherMsg(msg);
+
                                if (msg->isSynchronousCall() == false)
                                {
-                                       DispatcherMsg *tempMsg = new DispatcherMsg(msg);
-
                                        /* Asynchronous call */
                                        g_idle_add((GSourceFunc)&Reader::dispatcherCallback, (gpointer)tempMsg);
                                }
@@ -137,10 +137,10 @@ namespace smartcard_service_api
                case Message::MSG_REQUEST_CLOSE_SESSION :
                case Message::MSG_REQUEST_GET_CHANNEL_COUNT :
                        {
+                               DispatcherMsg *tempMsg = new DispatcherMsg(msg);
+
                                if (msg->isSynchronousCall() == false)
                                {
-                                       DispatcherMsg *tempMsg = new DispatcherMsg(msg);
-
                                        /* Asynchronous call */
                                        g_idle_add((GSourceFunc)&Session::dispatcherCallback, (gpointer)tempMsg);
                                }
@@ -156,10 +156,10 @@ namespace smartcard_service_api
                case Message::MSG_REQUEST_TRANSMIT :
                case Message::MSG_REQUEST_CLOSE_CHANNEL :
                        {
+                               DispatcherMsg *tempMsg = new DispatcherMsg(msg);
+
                                if (msg->isSynchronousCall() == false)
                                {
-                                       DispatcherMsg *tempMsg = new DispatcherMsg(msg);
-
                                        /* Asynchronous call */
                                        g_idle_add((GSourceFunc)&ClientChannel::dispatcherCallback, (gpointer)tempMsg);
                                }
index 4d46906..1cec00c 100644 (file)
@@ -243,6 +243,8 @@ namespace smartcard_service_api
                        break;
                }
 
+               delete msg;
+
                _END();
 
                return result;
index 903320c..dc98793 100644 (file)
@@ -292,7 +292,7 @@ namespace smartcard_service_api
        bool SEService::dispatcherCallback(void *message)
        {
                Message *msg = (Message *)message;
-               SEService *service = NULL;
+               SEService *service;
                bool result = false;
 
                _BEGIN();
@@ -423,6 +423,8 @@ namespace smartcard_service_api
                        break;
                }
 
+               delete msg;
+
                _END();
 
                return result;
index 8fa7b4c..c2e6a77 100644 (file)
@@ -476,7 +476,7 @@ namespace smartcard_service_api
        bool Session::dispatcherCallback(void *message)
        {
                Message *msg = (Message *)message;
-               Session *session = NULL;
+               Session *session;
                bool result = false;
 
                if (msg == NULL)
@@ -613,6 +613,8 @@ namespace smartcard_service_api
                        break;
                }
 
+               delete msg;
+
                return result;
        }
 } /* namespace smartcard_service_api */