Fix memory leak issue 23/129123/1 accepted/tizen_4.0_unified tizen_4.0 accepted/tizen/4.0/unified/20170816.011004 accepted/tizen/4.0/unified/20170829.020405 accepted/tizen/unified/20170608.072638 submit/tizen/20170607.072905 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170828.100004 tizen_4.0.IoT.p1_release tizen_4.0.IoT.p2_release tizen_4.0.m2_release
authorWootak Jung <wootak.jung@samsung.com>
Mon, 15 May 2017 06:05:42 +0000 (15:05 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Mon, 15 May 2017 06:05:42 +0000 (15:05 +0900)
Change-Id: Id2130c33d99b91e0dc4d3654e0240260591ffa94

include/call-manager-common.h
packaging/libcall-manager.spec
src/call-manager.c

index d5eeddf49f738f5fdd8b08eb4b049dde2c1c2ea0..942e1077342648cc1dabac08a7463eef88b2831f 100644 (file)
@@ -188,12 +188,6 @@ struct __cm_conf_call_data {
        cm_call_name_mode_e name_mode;                                  /**<Name Mode */
 };
 
-#define MAKE_CALL_STATE_ASYNC_DATA(data,cb,ud)  \
-       data = g_try_new0 (struct __cm_async_data, 1); \
-       if (!data) { return -1; } \
-       data->cb_fn = cb; \
-       data->user_data = ud \
-
 struct __cm_async_data {
        void *cb_fn;
        void* user_data;
index 978b42cc468c162529ba1b564b001d1c0e8eda84..ef8172f4877977f224542679a6bde08281e227ab 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 0
-%define patchlevel 16
+%define patchlevel 17
 %define ext_feature 0
 
 Name:           libcall-manager
index 2f2a7c8d7b006b6fa0c4e620fd11d7825d728267..c6b74bc68f409607f412e960bbb04f0b143d37e9 100644 (file)
@@ -318,8 +318,14 @@ static int __cm_set_cb(cm_client_h handle, char *signal, void *cb, void *user_da
                return CM_ERROR_ALREADY_REGISTERED;
        }
 
-       MAKE_CALL_STATE_ASYNC_DATA(ad, cb, user_data);
-       CM_RETURN_VAL_IF_FAIL(ad, CM_ERROR_OPERATION_FAILED);
+       ad = g_try_new0(struct __cm_async_data, 1);
+       if (!ad) {
+               err("ad is NULL");
+               g_free(noti_id);
+               return CM_ERROR_OUT_OF_MEMORY;
+       }
+       ad->cb_fn = cb;
+       ad->user_data = user_data;
 
        id = g_dbus_connection_signal_subscribe(handle->dbus_conn,
                        DBUS_CALL_MANAGER, DBUS_CALL_MANAGER_DEFAULT_INTERFACE, signal, DBUS_CALL_MANAGER_PATH, NULL,