fix svace issues
[platform/core/pim/contacts-service.git] / server / ctsvc_server_change_subject.c
index a865d7c..f73e48b 100644 (file)
@@ -24,6 +24,7 @@
 #include "contacts.h"
 #include "ctsvc_internal.h"
 #include "ctsvc_ipc_define.h"
+#include "ctsvc_ipc_marshal.h"
 #include "ctsvc_server_change_subject.h"
 
 #define CTSVC_SUBSCRIBE_MAX_LEN        1024
@@ -56,6 +57,7 @@ static gboolean __ctsvc_publish_changes_with_data(const char *view_uri, char *da
 
        if (pims_ipc_svc_publish(CTSVC_IPC_SUBSCRIBE_MODULE, (char*)view_uri, indata) != 0) {
                CTS_ERR("pims_ipc_svc_publish error (%s)\n", view_uri);
+               pims_ipc_data_destroy(indata);
                return false;
        }
 
@@ -90,7 +92,7 @@ void ctsvc_change_subject_clear_changed_info()
 void ctsvc_change_subject_add_changed_phone_log_id(contacts_changed_e type, int id)
 {
        CTS_FN_CALL;
-       int len = 0;
+       int cur_len = 0;
        int info_len = 0;
        char changed_info[30] = {0};
 
@@ -100,15 +102,16 @@ void ctsvc_change_subject_add_changed_phone_log_id(contacts_changed_e type, int
                __phone_log_chanaged_info[0] = '\0';
        }
 
-       len = snprintf(changed_info, sizeof(changed_info), "%d:%d,", type, id);
-       info_len = strlen(__phone_log_chanaged_info);
-       CTS_DBG("%s(len : %d), %s (crrent_len : %d), max_len : %d",
-               changed_info, len, __phone_log_chanaged_info, info_len, __phone_log_buf_size);
-       if (__phone_log_buf_size < info_len + len) {
-               __phone_log_chanaged_info = realloc(__phone_log_chanaged_info, __phone_log_buf_size * 2);
+       info_len = snprintf(changed_info, sizeof(changed_info), "%d:%d,", type, id);
+       cur_len = strlen(__phone_log_chanaged_info);
+       CTS_DBG("%s(info_len : %d), %s(crrent_len : %d), max_len : %u",
+               changed_info, info_len, __phone_log_chanaged_info, cur_len, __phone_log_buf_size);
+
+       if (__phone_log_buf_size <= (cur_len + info_len)) {
                __phone_log_buf_size *= 2;
+               __phone_log_chanaged_info = realloc(__phone_log_chanaged_info, __phone_log_buf_size);
        }
-       snprintf(__phone_log_chanaged_info + info_len, __phone_log_buf_size - info_len, "%s", changed_info);
+       snprintf(__phone_log_chanaged_info + cur_len, __phone_log_buf_size - cur_len, "%s", changed_info);
        CTS_DBG("%s", __phone_log_chanaged_info);
 }
 #endif /* ENABLE_LOG_FEATURE */
@@ -116,7 +119,7 @@ void ctsvc_change_subject_add_changed_phone_log_id(contacts_changed_e type, int
 void ctsvc_change_subject_add_changed_person_id(contacts_changed_e type, int id)
 {
        CTS_FN_CALL;
-       int len = 0;
+       int cur_len = 0;
        int info_len = 0;
        char changed_info[30] = {0};
 
@@ -126,13 +129,16 @@ void ctsvc_change_subject_add_changed_person_id(contacts_changed_e type, int id)
                __person_changed_info[0] = '\0';
        }
 
-       len = snprintf(changed_info, sizeof(changed_info), "%d:%d,", type, id);
-       info_len = strlen(__person_changed_info);
-       if (__person_buf_size < info_len + len) {
-               __person_changed_info = realloc(__person_changed_info, __person_buf_size * 2);
+       info_len = snprintf(changed_info, sizeof(changed_info), "%d:%d,", type, id);
+       cur_len = strlen(__person_changed_info);
+       CTS_DBG("%s(info_len : %d), %s(crrent_len : %d), max_len : %u",
+               changed_info, info_len, __person_changed_info, cur_len, __person_buf_size);
+
+       if (__person_buf_size <= (cur_len + info_len)) {
                __person_buf_size *= 2;
+               __person_changed_info = realloc(__person_changed_info, __person_buf_size);
        }
-       snprintf(__person_changed_info + info_len, __person_buf_size - info_len, "%s", changed_info);
+       snprintf(__person_changed_info + cur_len, __person_buf_size - cur_len, "%s", changed_info);
 }
 
 void ctsvc_change_subject_publish_setting(const char *setting_id, int value)