From: Gukhwan Cho Date: Tue, 21 Jul 2015 05:43:11 +0000 (+0900) Subject: fixed bug:delete handle after using it X-Git-Tag: accepted/tizen/mobile/20150908.232306~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea35e5fbce354d1c0e5650519803d8513ee33a40;p=platform%2Fcore%2Fpim%2Fcontacts-service.git fixed bug:delete handle after using it Change-Id: If108a70c801d46e31cf04312b58f7b947094b67d Signed-off-by: Gukhwan Cho --- diff --git a/client/ctsvc_client_ipc.c b/client/ctsvc_client_ipc.c index f7ef04e..b7c424d 100644 --- a/client/ctsvc_client_ipc.c +++ b/client/ctsvc_client_ipc.c @@ -160,7 +160,6 @@ int ctsvc_ipc_connect(contacts_h contact, unsigned int handle_id) struct ctsvc_ipc_s *ipc_data = NULL; char ipc_key[CTSVC_STR_SHORT_LEN] = {0}; - RETV_IF(_ctsvc_ipc_disconnected, CONTACTS_ERROR_IPC_NOT_AVALIABLE); snprintf(ipc_key, sizeof(ipc_key), "%u", handle_id); if (NULL == _ctsvc_ipc_table) @@ -197,7 +196,6 @@ int ctsvc_ipc_disconnect(contacts_h contact, unsigned int handle_id, int connect pims_ipc_data_h indata = NULL; char ipc_key[CTSVC_STR_SHORT_LEN] = {0}; - RETV_IF(_ctsvc_ipc_disconnected, CONTACTS_ERROR_IPC_NOT_AVALIABLE); RETVM_IF(NULL == _ctsvc_ipc_table, CONTACTS_ERROR_IPC, "contacts not connected"); snprintf(ipc_key, sizeof(ipc_key), "%u", handle_id); diff --git a/client/ctsvc_client_noti.c b/client/ctsvc_client_noti.c index 47b91d1..23d2ed2 100644 --- a/client/ctsvc_client_noti.c +++ b/client/ctsvc_client_noti.c @@ -138,8 +138,8 @@ int ctsvc_ipc_destroy_for_change_subscription() ctsvc_mutex_lock(CTS_MUTEX_PIMS_IPC_PUBSUB); if (1 == __ipc_pubsub_ref) { - pims_ipc_destroy_for_subscribe(__ipc); ctsvc_ipc_unset_disconnected_cb(__ipc); + pims_ipc_destroy_for_subscribe(__ipc); __ipc = NULL; } else if (1 < __ipc_pubsub_ref) { diff --git a/client/ctsvc_client_service_helper.c b/client/ctsvc_client_service_helper.c index 6d4207b..c989092 100644 --- a/client/ctsvc_client_service_helper.c +++ b/client/ctsvc_client_service_helper.c @@ -91,6 +91,7 @@ int ctsvc_client_connect(contacts_h contact) CTS_FN_CALL; int ret; ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); ctsvc_mutex_lock(CTS_MUTEX_CONNECTION); if (0 == base->connection_count) { @@ -137,9 +138,11 @@ int ctsvc_client_disconnect(contacts_h contact) { CTS_FN_CALL; int ret; + ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); + ctsvc_mutex_lock(CTS_MUTEX_CONNECTION); - ctsvc_base_s *base = (ctsvc_base_s *)contact; if (1 == base->connection_count) { ret = ctsvc_ipc_disconnect(contact, ctsvc_client_get_pid(), _ctsvc_connection); if (ret != CONTACTS_ERROR_NONE) { @@ -176,6 +179,7 @@ int ctsvc_client_connect_on_thread(contacts_h contact) { int ret; ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); ctsvc_mutex_lock(CTS_MUTEX_CONNECTION); @@ -224,6 +228,7 @@ int ctsvc_client_disconnect_on_thread(contacts_h contact) { int ret; ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); ctsvc_mutex_lock(CTS_MUTEX_CONNECTION);