Fix memory leak 01/128801/1
authorJooseok Park <jooseok.park@samsung.com>
Thu, 11 May 2017 10:59:39 +0000 (19:59 +0900)
committerJooseok Park <jooseok.park@samsung.com>
Thu, 11 May 2017 11:00:30 +0000 (20:00 +0900)
 - when payload handle is NULL, service_handle needs to be deleted

Change-Id: Ic4f4db08f699951c9be53ae09e611092d5cfe56d

lib/conv_lib_service.cpp

index 9379893ea15d45ae71856d6fc6bc07c893270dea..41b3e5f3478e57269d966db2712f36b386ec690f 100755 (executable)
@@ -152,13 +152,15 @@ static void conv_connect_subject_cb(const char* subject, int req_id, int error,
        service_handle->connection_state = CONV_SERVICE_CONNECTION_STATE_CONNECTED;
 
        conv_payload_h payload_handle = new(std::nothrow) _conv_payload_handle();
-       IF_FAIL_VOID_TAG(payload_handle, _E, "Memory allocation failed");
+       IF_FAIL_CATCH_TAG(payload_handle, _E, "Memory allocation failed");
 
        payload_handle->jpayload = payload;
 
        callback_info->cb(service_handle, CONV_ERROR_NONE, payload_handle, callback_info->user_data);
 
        delete payload_handle;
+
+CATCH:
        delete service_handle;
 }