}
filter = (ctsvc_attribute_filter_s *)calloc(1, sizeof(ctsvc_attribute_filter_s));
+ if (NULL == filter) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
filter->filter_type = filter_type;
filter->property_id = property_id;
filter->match = match;
{
ctsvc_attribute_filter_s *out;
out = (ctsvc_attribute_filter_s *)calloc(1, sizeof(ctsvc_attribute_filter_s));
+ if (NULL == out) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
out->filter_type = src->filter_type;
out->property_id = src->property_id;
out->match = src->match;
if (__noti_list)
__ctsvc_inotify_handle_callback(__noti_list, ie.wd, ie.mask);
- while (0 < ie.len) {
+ while (0 != ie.len) {
ret = read(fd, name, (ie.len<sizeof(name))?ie.len:sizeof(name));
if (-1 == ret) {
if (EINTR == errno)
continue;
else
- break;
+ return TRUE;
}
- if (ie.len <= ret)
- break;
- ie.len -= ret;
+ if (ie.len < ret)
+ ie.len = 0;
+ else
+ ie.len -= ret;
}
}
else {
if (EINTR == errno)
continue;
else
- break;
+ return TRUE;
}
ret += read_size;
}
free(query_s->projection);
query_s->projection = calloc(count, sizeof(unsigned int));
+ if (NULL == query_s->projection) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
memcpy(query_s->projection, property_ids, sizeof(unsigned int) * count);
query_s->projection_count = count;
#define __TIZEN_SOCIAL_CTSVC_RECORD_H__
#define CTSVC_RECORD_INIT_BASE(base, type, cb, uri) do {\
- (base)->r_type = (type);\
- (base)->plugin_cbs = (cb);\
- (base)->view_uri = (uri);\
- (base)->property_max_count = 0;\
+ (base)->r_type = (type);\
+ (base)->plugin_cbs = (cb);\
+ (base)->view_uri = (uri);\
+ (base)->property_max_count = 0;\
} while (0)
-#define CTSVC_RECORD_COPY_BASE(dest, src) do {\
- (dest)->r_type = (src)->r_type;\
- (dest)->plugin_cbs = (src)->plugin_cbs;\
- (dest)->view_uri = (src)->view_uri;\
- (dest)->property_max_count = (src)->property_max_count;\
- (dest)->property_flag = (src)->property_flag;\
- if ((src)->properties_flags) \
- {\
- (dest)->properties_flags = calloc((dest)->property_max_count, sizeof(char));\
- memcpy((dest)->properties_flags,(src)->properties_flags,sizeof(char)*(dest)->property_max_count);\
- }\
-} while (0)
+static inline int ctsvc_record_copy_base(ctsvc_record_s *dest, ctsvc_record_s *src)
+{
+ dest->r_type = src->r_type;
+ dest->plugin_cbs = src->plugin_cbs;
+ dest->view_uri = src->view_uri;
+ dest->property_max_count = src->property_max_count;
+ dest->property_flag = src->property_flag;
+ if (src->properties_flags) {
+ dest->properties_flags = calloc(dest->property_max_count, sizeof(char));
+ if (NULL == dest->properties_flags) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+ if (dest->properties_flags) {
+ memcpy(dest->properties_flags,src->properties_flags,sizeof(char)*dest->property_max_count);
+ }
+ }
+ return CONTACTS_ERROR_NONE;
+}
#define CTSVC_RECORD_RESET_PROPERTY_FLAGS(base)do {\
- if ((base)->properties_flags) \
- {\
- free((base)->properties_flags); \
- (base)->property_max_count = 0;\
- (base)->properties_flags = NULL;\
- (base)->property_flag = 0;\
- }\
+ if ((base)->properties_flags) \
+ {\
+ free((base)->properties_flags); \
+ (base)->property_max_count = 0;\
+ (base)->properties_flags = NULL;\
+ (base)->property_flag = 0;\
+ }\
} while (0)
int ctsvc_record_set_property_flag(ctsvc_record_s* _record, int property_id, contacts_property_flag_e flag);
RETVM_IF(NULL == dest, CONTACTS_ERROR_OUT_OF_MEMORY,
"Out of memory : calloc is Fail");
- CTSVC_RECORD_COPY_BASE(&(dest->base), &(src->base));
+ int ret = ctsvc_record_copy_base(&(dest->base), &(src->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ free(dest);
+ return ret;
+ }
dest->id = src->id;
dest->account_id = src->account_id;
"Out of memory : calloc is Fail");
activity->photos = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == activity->photos) {
+ CTS_ERR("calloc() Fail");
+ free(activity);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
activity->photos->l_type = CTSVC_RECORD_ACTIVITY_PHOTO;
*out_record = (contacts_record_h)activity;
RETVM_IF(NULL == contact, CONTACTS_ERROR_OUT_OF_MEMORY,
"Out of memory : calloc is Fail");
- contact->name = calloc(1, sizeof(ctsvc_list_s));
- contact->name->l_type = CTSVC_RECORD_NAME;
-
- contact->company = calloc(1, sizeof(ctsvc_list_s));
- contact->company->l_type = CTSVC_RECORD_COMPANY;
-
- contact->note = calloc(1, sizeof(ctsvc_list_s));
- contact->note->l_type = CTSVC_RECORD_NOTE;
-
- contact->numbers = calloc(1, sizeof(ctsvc_list_s));
- contact->numbers->l_type = CTSVC_RECORD_NUMBER;
-
- contact->emails = calloc(1, sizeof(ctsvc_list_s));
- contact->emails->l_type = CTSVC_RECORD_EMAIL;
-
- contact->grouprelations = calloc(1, sizeof(ctsvc_list_s));
- contact->grouprelations->l_type = CTSVC_RECORD_GROUP_RELATION;
-
- contact->events = calloc(1, sizeof(ctsvc_list_s));
- contact->events->l_type = CTSVC_RECORD_EVENT;
-
- contact->messengers = calloc(1, sizeof(ctsvc_list_s));
- contact->messengers->l_type = CTSVC_RECORD_MESSENGER;
-
- contact->postal_addrs = calloc(1, sizeof(ctsvc_list_s));
- contact->postal_addrs->l_type = CTSVC_RECORD_ADDRESS;
-
- contact->urls = calloc(1, sizeof(ctsvc_list_s));
- contact->urls->l_type = CTSVC_RECORD_URL;
-
- contact->nicknames = calloc(1, sizeof(ctsvc_list_s));
- contact->nicknames->l_type = CTSVC_RECORD_NICKNAME;
-
- contact->profiles = calloc(1, sizeof(ctsvc_list_s));
- contact->profiles->l_type = CTSVC_RECORD_PROFILE;
-
- contact->relationships = calloc(1, sizeof(ctsvc_list_s));
- contact->relationships->l_type = CTSVC_RECORD_RELATIONSHIP;
-
- contact->images = calloc(1, sizeof(ctsvc_list_s));
- contact->images->l_type = CTSVC_RECORD_IMAGE;
-
- contact->extensions = calloc(1, sizeof(ctsvc_list_s));
- contact->extensions->l_type = CTSVC_RECORD_EXTENSION;
-
- *out_record = (contacts_record_h)contact;
- return CONTACTS_ERROR_NONE;
+ do {
+ contact->name = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->name)
+ break;
+ contact->name->l_type = CTSVC_RECORD_NAME;
+
+ contact->company = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->company)
+ break;
+ contact->company->l_type = CTSVC_RECORD_COMPANY;
+
+ contact->note = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->note)
+ break;
+ contact->note->l_type = CTSVC_RECORD_NOTE;
+
+ contact->numbers = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->numbers)
+ break;
+ contact->numbers->l_type = CTSVC_RECORD_NUMBER;
+
+ contact->emails = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->emails)
+ break;
+ contact->emails->l_type = CTSVC_RECORD_EMAIL;
+
+ contact->grouprelations = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->grouprelations)
+ break;
+ contact->grouprelations->l_type = CTSVC_RECORD_GROUP_RELATION;
+
+ contact->events = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->events)
+ break;
+ contact->events->l_type = CTSVC_RECORD_EVENT;
+
+ contact->messengers = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->messengers)
+ break;
+ contact->messengers->l_type = CTSVC_RECORD_MESSENGER;
+
+ contact->postal_addrs = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->postal_addrs)
+ break;
+ contact->postal_addrs->l_type = CTSVC_RECORD_ADDRESS;
+
+ contact->urls = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->urls)
+ break;
+ contact->urls->l_type = CTSVC_RECORD_URL;
+
+ contact->nicknames = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->nicknames)
+ break;
+ contact->nicknames->l_type = CTSVC_RECORD_NICKNAME;
+
+ contact->profiles = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->profiles)
+ break;
+ contact->profiles->l_type = CTSVC_RECORD_PROFILE;
+
+ contact->relationships = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->relationships)
+ break;
+ contact->relationships->l_type = CTSVC_RECORD_RELATIONSHIP;
+
+ contact->images = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->images)
+ break;
+ contact->images->l_type = CTSVC_RECORD_IMAGE;
+
+ contact->extensions = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == contact->extensions)
+ break;
+ contact->extensions->l_type = CTSVC_RECORD_EXTENSION;
+
+ *out_record = (contacts_record_h)contact;
+ return CONTACTS_ERROR_NONE;
+ } while (0);
+
+ CTS_ERR("calloc() Fail");
+ free(contact->extensions);
+ free(contact->images);
+ free(contact->relationships);
+ free(contact->profiles);
+ free(contact->nicknames);
+ free(contact->urls);
+ free(contact->postal_addrs);
+ free(contact->messengers);
+ free(contact->events);
+ free(contact->grouprelations);
+ free(contact->emails);
+ free(contact->numbers);
+ free(contact->note);
+ free(contact->company);
+ free(contact->name);
+ free(contact);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
}
static int __ctsvc_contact_destroy(contacts_record_h record, bool delete_child)
switch(property_id) {
case CTSVC_PROPERTY_EMAIL_ID:
email->id = value;
+ break;
case CTSVC_PROPERTY_EMAIL_CONTACT_ID:
RETVM_IF(0 < email->id, CONTACTS_ERROR_INVALID_PARAMETER,
"Invalid parameter : property_id(%d) is a read-only value (email)", property_id);
ctsvc_list_clone((contacts_list_h)src_data->extensions, (contacts_list_h*)&out_data->extensions);
out_data->extensions->l_type = CTSVC_RECORD_EXTENSION;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_contact_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
ctsvc_list_clone((contacts_list_h)src_data->photos, (contacts_list_h*)&out_data->photos);
out_data->photos->l_type = CTSVC_RECORD_ACTIVITY_PHOTO;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_activity_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->photo_url = SAFE_STRDUP(src_data->photo_url);
out_data->sort_index = src_data->sort_index;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_activity_photo_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->extended = SAFE_STRDUP(src_data->extended);
out_data->country = SAFE_STRDUP(src_data->country);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_address_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->description = SAFE_STRDUP(src_data->description);
out_data->phonetic_name = SAFE_STRDUP(src_data->phonetic_name);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_company_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->label = SAFE_STRDUP(src_data->label);
out_data->email_addr = SAFE_STRDUP(src_data->email_addr);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_email_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->calendar_type = src_data->calendar_type;
out_data->is_leap_month = src_data->is_leap_month;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_event_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->data11 = SAFE_STRDUP(src_data->data11);
out_data->data12 = SAFE_STRDUP(src_data->data12);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_extension_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->contact_id = src_data->contact_id;
out_data->group_name = SAFE_STRDUP(src_data->group_name);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_group_relation_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->label = SAFE_STRDUP(src_data->label);
out_data->im_id = SAFE_STRDUP(src_data->im_id);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_messenger_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->lookup = SAFE_STRDUP(src_data->lookup);
out_data->reverse_lookup = SAFE_STRDUP(src_data->reverse_lookup);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_name_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->label = SAFE_STRDUP(src_data->label);
out_data->nickname = SAFE_STRDUP(src_data->nickname);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_nickname_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->contact_id = src_data->contact_id;
out_data->note = SAFE_STRDUP(src_data->note);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_note_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->number = SAFE_STRDUP(src_data->number);
out_data->lookup = SAFE_STRDUP(src_data->lookup);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_number_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->category = SAFE_STRDUP(src_data->category);
out_data->extra_data = SAFE_STRDUP(src_data->extra_data);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_profile_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
out_data->label = SAFE_STRDUP(src_data->label);
out_data->name = SAFE_STRDUP(src_data->name);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_relationship_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
__ctsvc_temp_image_hash_table_insert(src_data->path);
out_data->path = SAFE_STRDUP(src_data->path);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_image_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->message_alert = SAFE_STRDUP(src_data->message_alert);
out_data->image_thumbnail_path = SAFE_STRDUP(src_data->image_thumbnail_path);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_simple_contact_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->label = SAFE_STRDUP(src_data->label);
out_data->url = SAFE_STRDUP(src_data->url);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_url_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
static int __ctsvc_group_clone(contacts_record_h record, contacts_record_h *out_record)
{
- ctsvc_group_s *out_data = NULL;
- ctsvc_group_s *src_data = NULL;
+ ctsvc_group_s *out_data = NULL;
+ ctsvc_group_s *src_data = NULL;
- src_data = (ctsvc_group_s*)record;
- out_data = calloc(1, sizeof(ctsvc_group_s));
- RETVM_IF(NULL == out_data, CONTACTS_ERROR_OUT_OF_MEMORY,
- "Out of memeory : calloc(ctsvc_group_s) Fail(%d)", CONTACTS_ERROR_OUT_OF_MEMORY);
+ src_data = (ctsvc_group_s*)record;
+ out_data = calloc(1, sizeof(ctsvc_group_s));
+ RETVM_IF(NULL == out_data, CONTACTS_ERROR_OUT_OF_MEMORY,
+ "Out of memeory : calloc(ctsvc_group_s) Fail(%d)",
+ CONTACTS_ERROR_OUT_OF_MEMORY);
out_data->id = src_data->id;
out_data->addressbook_id = src_data->addressbook_id;
out_data->ringtone_path = SAFE_STRDUP(src_data->ringtone_path);
out_data->image_thumbnail_path = SAFE_STRDUP(src_data->image_thumbnail_path);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_group_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
RETVM_IF(NULL == my_profile, CONTACTS_ERROR_OUT_OF_MEMORY,
"Out of memory : calloc is Fail");
- my_profile->name = calloc(1, sizeof(ctsvc_list_s));
- my_profile->name->l_type = CTSVC_RECORD_NAME;
-
- my_profile->company = calloc(1, sizeof(ctsvc_list_s));
- my_profile->company->l_type = CTSVC_RECORD_COMPANY;
-
- my_profile->note = calloc(1, sizeof(ctsvc_list_s));
- my_profile->note->l_type = CTSVC_RECORD_NOTE;
-
- my_profile->numbers = calloc(1, sizeof(ctsvc_list_s));
- my_profile->numbers->l_type = CTSVC_RECORD_NUMBER;
-
- my_profile->emails = calloc(1, sizeof(ctsvc_list_s));
- my_profile->emails->l_type = CTSVC_RECORD_EMAIL;
-
- my_profile->events = calloc(1, sizeof(ctsvc_list_s));
- my_profile->events->l_type = CTSVC_RECORD_EVENT;
-
- my_profile->messengers = calloc(1, sizeof(ctsvc_list_s));
- my_profile->messengers->l_type = CTSVC_RECORD_MESSENGER;
-
- my_profile->postal_addrs = calloc(1, sizeof(ctsvc_list_s));
- my_profile->postal_addrs->l_type = CTSVC_RECORD_ADDRESS;
-
- my_profile->urls = calloc(1, sizeof(ctsvc_list_s));
- my_profile->urls->l_type = CTSVC_RECORD_URL;
-
- my_profile->nicknames = calloc(1, sizeof(ctsvc_list_s));
- my_profile->nicknames->l_type = CTSVC_RECORD_NICKNAME;
-
- my_profile->profiles = calloc(1, sizeof(ctsvc_list_s));
- my_profile->profiles->l_type = CTSVC_RECORD_PROFILE;
-
- my_profile->relationships = calloc(1, sizeof(ctsvc_list_s));
- my_profile->relationships->l_type = CTSVC_RECORD_RELATIONSHIP;
-
- my_profile->images = calloc(1, sizeof(ctsvc_list_s));
- my_profile->images->l_type = CTSVC_RECORD_IMAGE;
-
- my_profile->extensions = calloc(1, sizeof(ctsvc_list_s));
- my_profile->extensions->l_type = CTSVC_RECORD_EXTENSION;
-
- *out_record = (contacts_record_h)my_profile;
- return CONTACTS_ERROR_NONE;
+ do {
+ my_profile->name = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->name)
+ break;
+ my_profile->name->l_type = CTSVC_RECORD_NAME;
+
+ my_profile->company = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->company)
+ break;
+ my_profile->company->l_type = CTSVC_RECORD_COMPANY;
+
+ my_profile->note = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->note)
+ break;
+ my_profile->note->l_type = CTSVC_RECORD_NOTE;
+
+ my_profile->numbers = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->numbers)
+ break;
+ my_profile->numbers->l_type = CTSVC_RECORD_NUMBER;
+
+ my_profile->emails = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->emails)
+ break;
+ my_profile->emails->l_type = CTSVC_RECORD_EMAIL;
+
+ my_profile->events = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->events)
+ break;
+ my_profile->events->l_type = CTSVC_RECORD_EVENT;
+
+ my_profile->messengers = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->messengers)
+ break;
+ my_profile->messengers->l_type = CTSVC_RECORD_MESSENGER;
+
+ my_profile->postal_addrs = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->postal_addrs)
+ break;
+ my_profile->postal_addrs->l_type = CTSVC_RECORD_ADDRESS;
+
+ my_profile->urls = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->urls)
+ break;
+ my_profile->urls->l_type = CTSVC_RECORD_URL;
+
+ my_profile->nicknames = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->nicknames)
+ break;
+ my_profile->nicknames->l_type = CTSVC_RECORD_NICKNAME;
+
+ my_profile->profiles = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->profiles)
+ break;
+ my_profile->profiles->l_type = CTSVC_RECORD_PROFILE;
+
+ my_profile->relationships = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->relationships)
+ break;
+ my_profile->relationships->l_type = CTSVC_RECORD_RELATIONSHIP;
+
+ my_profile->images = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->images)
+ break;
+ my_profile->images->l_type = CTSVC_RECORD_IMAGE;
+
+ my_profile->extensions = calloc(1, sizeof(ctsvc_list_s));
+ if (NULL == my_profile->extensions)
+ break;
+ my_profile->extensions->l_type = CTSVC_RECORD_EXTENSION;
+
+ *out_record = (contacts_record_h)my_profile;
+ return CONTACTS_ERROR_NONE;
+ } while (0);
+
+ CTS_ERR("calloc() Fail");
+ free(my_profile->extensions);
+ free(my_profile->images);
+ free(my_profile->relationships);
+ free(my_profile->profiles);
+ free(my_profile->nicknames);
+ free(my_profile->urls);
+ free(my_profile->postal_addrs);
+ free(my_profile->messengers);
+ free(my_profile->events);
+ free(my_profile->emails);
+ free(my_profile->numbers);
+ free(my_profile->note);
+ free(my_profile->company);
+ free(my_profile->name);
+ free(my_profile);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
}
static int __ctsvc_my_profile_destroy(contacts_record_h record, bool delete_child)
ctsvc_list_clone((contacts_list_h)src_data->extensions, (contacts_list_h*)&out_data->extensions);
out_data->extensions->l_type = CTSVC_RECORD_EXTENSION;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_my_profile_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
out_data->message_alert = SAFE_STRDUP(src_data->message_alert);
out_data->status = SAFE_STRDUP(src_data->status);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_person_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->extra_data2 = SAFE_STRDUP(src_data->extra_data2);
out_data->sim_slot_no = src_data->sim_slot_no;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_phonelog_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
for (cursor=src_data->values;cursor;cursor=cursor->next) {
ctsvc_result_value_s *src = cursor->data;
ctsvc_result_value_s *dest = calloc(1, sizeof(ctsvc_result_value_s));
+ if (NULL == dest) {
+ CTS_ERR("calloc() Fail");
+ __ctsvc_result_destroy((contacts_record_h)out_data, true);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
dest->property_id = src->property_id;
dest->type = src->type;
switch(src->type) {
out_data->values = g_slist_append(out_data->values, (void*)dest);
}
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_result_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
}
data = calloc(1, sizeof(ctsvc_result_value_s));
+ if (NULL == data) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
data->property_id = property_id;
data->type = CTSVC_VIEW_DATA_TYPE_INT;
#ifdef _CONTACTS_IPC_SERVER
}
data = calloc(1, sizeof(ctsvc_result_value_s));
+ if (NULL == data) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
data->property_id = property_id;
data->type = CTSVC_VIEW_DATA_TYPE_LLI;
data->value.l = value;
}
data = calloc(1, sizeof(ctsvc_result_value_s));
+ if (NULL == data) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
data->property_id = property_id;
data->type = CTSVC_VIEW_DATA_TYPE_DOUBLE;
data->value.d = value;
}
data = calloc(1, sizeof(ctsvc_result_value_s));
+ if (NULL == data) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
data->property_id = property_id;
data->type = CTSVC_VIEW_DATA_TYPE_BOOL;
data->value.i = value;
if (str) {
str_len = strlen(CTSVC_CONTACT_IMG_FULL_LOCATION) + strlen(str) + 2;
full_path = calloc(1, str_len);
+ if (NULL == full_path) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(full_path, str_len, "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, str);
}
free(data->value.s);
}
data = calloc(1, sizeof(ctsvc_result_value_s));
+ if (NULL == data) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
data->property_id = property_id;
data->type = CTSVC_VIEW_DATA_TYPE_STR;
switch (property_id) {
if (str) {
str_len = strlen(CTSVC_CONTACT_IMG_FULL_LOCATION) + strlen(str) + 2;
full_path = calloc(1, str_len);
+ if (NULL == full_path) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(full_path, str_len, "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, str);
}
free(data->value.s);
out_data->number = SAFE_STRDUP(src_data->number);
out_data->sim_slot_no = src_data->sim_slot_no;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_sdn_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->label = SAFE_STRDUP(src_data->label);
out_data->number = SAFE_STRDUP(src_data->number);
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_speeddial_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
out_data->changed_ver = src_data->changed_ver;
out_data->addressbook_id = src_data->addressbook_id;
- CTSVC_RECORD_COPY_BASE(&(out_data->base), &(src_data->base));
+ int ret = ctsvc_record_copy_base(&(out_data->base), &(src_data->base));
+ if (CONTACTS_ERROR_NONE != ret) {
+ CTS_ERR("ctsvc_record_copy_base() Fail");
+ __ctsvc_updated_info_destroy((contacts_record_h)out_data, true);
+ return ret;
+ }
*out_record = (contacts_record_h)out_data;
return CONTACTS_ERROR_NONE;
{
int char_len = 0;
char *buf_copy = NULL;
- int len, result_len;
+ int len, result_len = 0;
char *r;
const char *s;
bool content_start = false;
bool encode_64 = false;
buf_copy = calloc(1, *buf_size);
+ if (NULL == buf_copy) {
+ CTS_ERR("calloc() Fail");
+ return 0;
+ }
s = *buf;
r = buf_copy;
- len = result_len = 0;
+ len = result_len;
while (*s) {
if (*buf_size < result_len + 5) {
if (CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST == order) {
snprintf(display, sizeof(display), "%s %s", name->first, name->last);
}
+#ifdef _CONTACTS_IPC_CLIENT
else {
/* CONTACTS_NAME_DISPLAY_ORDER_LASTFIRST */
snprintf(display, sizeof(display), "%s, %s", name->last, name->first);
}
+#endif
}
else
snprintf(display, sizeof(display), "%s%s", SAFE_STR(name->first), SAFE_STR(name->last));
__ctsvc_vcard_initial();
buf = calloc(1, buf_size);
+ if (NULL == buf) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
len = __ctsvc_vcard_append_start_vcard_3_0(&buf, &buf_size, len);
if (len < 0) {
__ctsvc_vcard_initial();
buf = calloc(1, buf_size);
+ if (NULL == buf) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
len = __ctsvc_vcard_append_start_vcard_3_0(&buf, &buf_size, len);
if (len < 0) {
free(buf);
__ctsvc_vcard_initial();
buf = calloc(1, buf_size);
+ if (NULL == buf) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
len = __ctsvc_vcard_append_start_vcard_3_0(&buf, &buf_size, len);
if (len < 0) {
free(buf);
temp_size = (src_len+1) * sizeof(UChar);
temp = malloc(temp_size);
+ if (NULL == temp) {
+ CTS_ERR("malloc() Fail");
+ return NULL;
+ }
conv = ucnv_open(enc, &err);
WARN_IF(U_FAILURE(err), "ucnv_open() Fail(%d), enc=%s", err, enc);
ucnv_toUChars(conv, temp, temp_size, val, src_len, &err);
dest_size = temp_size*2;
dest = malloc(dest_size);
+ if (NULL == dest) {
+ CTS_ERR("malloc() Fail");
+ free(temp);
+ return NULL;
+ }
conv = ucnv_open("UTF-8", &err);
WARN_IF(U_FAILURE(err), "ucnv_open() Fail(%d), enc=%s", err, enc);
ucnv_fromUChars(conv, dest, dest_size, temp, u_strlen(temp), &err);
if (temp) {
int len = (int)temp - (int)src;
*prefix = calloc(len+1, sizeof(char));
- snprintf(*prefix, len+1, "%s", src);
+ if (*prefix)
+ snprintf(*prefix, len+1, "%s", src);
}
else {
*prefix = NULL;
*cursor = '\0';
*dest = strdup(src);
+ if (NULL == *dest) {
+ CTS_ERR("strdup() Fail");
+ return NULL;
+ }
if (CTSVC_VCARD_VER_2_1 != ver)
__ctsvc_vcard_remove_folding(*dest);
type = __ctsvc_vcard_get_image_type(prefix);
buf = g_base64_decode(temp+1, &size);
- if (0 == size) {
+ if ((0 == size) || (NULL == buf)) {
g_free(buf);
return CONTACTS_ERROR_NONE;
}
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
type = __ctsvc_vcard_get_image_type(prefix);
buf = g_base64_decode(temp+1, &size);
- if (0 == size) {
+ if ((0 == size) || (NULL == buf)) {
g_free(buf);
return CONTACTS_ERROR_NONE;
}
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
temp = strtok_r(val, ";", &last);
while (temp) {
lower = strdup(temp);
+ if (NULL == lower) {
+ CTS_ERR("strdup() Fail");
+ break;
+ }
lower_temp = lower;
while (*lower_temp) {
*lower_temp = tolower(*lower_temp);
decoded_str = g_base64_decode(src, &size);
dest = calloc((src-val)+size+1, sizeof(char));
+ if (NULL == dest) {
+ CTS_ERR("calloc() Fail");
+ return NULL;
+ }
+
snprintf(dest, (src-val)+1, "%s", val);
snprintf(dest+(src-val), size+1, "%s", decoded_str);
g_free(decoded_str);
if (base64_encoded) {
char *temp = __ctsvc_vcard_decode_base64_val(val);
+ if (NULL == temp) {
+ CTS_ERR("__ctsvc_vcard_decode_base64_val() Fail");
+ free(prefix);
+ free(val);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
free(val);
val = temp;
}
if (0 < temp_display_len) {
temp_display_len += 7;
temp_display = calloc(1, temp_display_len);
+ if (NULL == temp_display) {
+ CTS_ERR("calloc() Fail");
+ return;
+ }
+
len=0;
if (name->last) {
if (name->prefix && temp_display) {
display_len = SAFE_STRLEN(name->prefix) + temp_display_len + 2;
reverse_display = calloc(1, display_len);
+ if (NULL == reverse_display) {
+ CTS_ERR("calloc() Fail");
+ free(temp_display);
+ return;
+ }
snprintf(reverse_display, display_len, "%s %s", name->prefix, temp_display);
free(temp_display);
}
temp_display_len += 6;
/* make reverse_temp_display_name */
temp_display = calloc(1, temp_display_len);
+ if (NULL == temp_display) {
+ CTS_ERR("calloc() Fail");
+ free(reverse_display);
+ return;
+ }
+
len = 0;
if (name->first) {
if (name->prefix && temp_display) {
display_len = SAFE_STRLEN(name->prefix) + temp_display_len + 2;
display = calloc(1, display_len);
+ if (NULL == display) {
+ CTS_ERR("calloc() Fail");
+ free(temp_display);
+ free(reverse_display);
+ return;
+ }
snprintf(display, display_len, "%s %s", name->prefix, temp_display);
free(temp_display);
}
contact->display_name = display;
free(reverse_display);
}
+#ifdef _CONTACTS_IPC_CLIENT
else {
contact->display_name = reverse_display;
free(display);
}
+#endif
contact->display_source_type = CONTACTS_DISPLAY_NAME_SOURCE_TYPE_NAME;
}
}
vcard_len += (vcard_cursor - pos_start);
vcard_object = calloc(vcard_len + 1, sizeof(char));
+ if (NULL == vcard_object) {
+ CTS_ERR("calloc() Fail");
+ __contacts_vcard_free_sub_vcard_info_list(sub_vcard_list);
+ return NULL;
+ }
vcard_len = 0;
pos_start = vcard_start_cursor;
}
else if (STRING_EQUAL == strncmp(vcard_cursor, begin, strlen(begin))) { /* sub vcard */
sub_vcard_info_s *sub_vcard_info = calloc(1, sizeof(sub_vcard_info_s));
+ if (NULL == sub_vcard_info) {
+ CTS_ERR("calloc() Fail");
+ __contacts_vcard_free_sub_vcard_info_list(sub_vcard_list);
+ return NULL;
+ }
sub_vcard_info->pos_start = vcard_cursor;
vcard_cursor = __contacts_vcard_parse_get_vcard_object(vcard_cursor, plist_vcard_object);
}
str = (char*)pims_ipc_data_get(ipc_data,&size);
+ if (NULL == str) {
+ CTS_ERR("pims_ipc_data_get() Fail");
+ return CONTACTS_ERROR_NO_DATA;
+ }
common->view_uri = ctsvc_view_get_uri(str);
- common->property_max_count = *(unsigned int*)pims_ipc_data_get(ipc_data,&size);
+
+ tmp = pims_ipc_data_get(ipc_data,&size);
+ if (NULL == tmp) {
+ CTS_ERR("pims_ipc_data_get() Fail");
+ return CONTACTS_ERROR_NO_DATA;
+ }
+ common->property_max_count = *(unsigned int*)tmp;
if (0 < common->property_max_count) {
unsigned char *tmp_properties_flags;
tmp_properties_flags = (unsigned char*)pims_ipc_data_get(ipc_data, &size);
+ if (NULL == tmp_properties_flags) {
+ CTS_ERR("pims_ipc_data_get() Fail");
+ return CONTACTS_ERROR_NO_DATA;
+ }
+
common->properties_flags = calloc(common->property_max_count, sizeof(char));
if (common->properties_flags == NULL) {
CTS_ERR("calloc() Fail");
memcpy(common->properties_flags, tmp_properties_flags, sizeof(char)*common->property_max_count);
}
tmp = pims_ipc_data_get(ipc_data,&size);
+ if (NULL == tmp) {
+ CTS_ERR("pims_ipc_data_get() Fail");
+ return CONTACTS_ERROR_NO_DATA;
+ }
common->property_flag = *(unsigned char*)tmp;
return CONTACTS_ERROR_NONE;
info = __ctsvc_find_access_info(thread_id);
if (NULL == info) {
info = calloc(1, sizeof(ctsvc_permission_info_s));
+ if (NULL == info) {
+ CTS_ERR("Thread(0x%x), calloc() Fail", thread_id);
+ ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
+ return;
+ }
__thread_list = g_list_append(__thread_list, info);
}
info->thread_id = thread_id;
int ctsvc_get_write_permitted_addressbook_ids(int **addressbook_ids, int *count)
{
+ unsigned int thread_id;
ctsvc_permission_info_s *find = NULL;
*count = 0;
*addressbook_ids = NULL;
ctsvc_mutex_lock(CTS_MUTEX_ACCESS_CONTROL);
- find = __ctsvc_find_access_info(pthread_self());
+ thread_id = (unsigned int)pthread_self();
+ find = __ctsvc_find_access_info(thread_id);
if (find) {
if (find->write_list && 0 < find->write_list_count) {
int size = find->write_list_count * sizeof(int);
int *list = calloc(1, size);
+ if (NULL == list) {
+ CTS_ERR("Thread(0x%x), calloc() Fail", thread_id);
+ ctsvc_mutex_unlock(CTS_MUTEX_ACCESS_CONTROL);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
memcpy(list, find->write_list, size);
*count = find->write_list_count;
*addressbook_ids = list;
if (false == had_activity_id) {
s_query->projection = realloc(s_query->projection, s_query->projection_count+1);
+ if (NULL == s_query->projection) {
+ CTS_ERR("realloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
s_query->projection[s_query->projection_count] = CTSVC_PROPERTY_ACTIVITY_ID;
s_query->projection_count++;
}
break;
case CTSVC_PROPERTY_ACTIVITY_SOURCE_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(activity->source_name);
activity->source_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ACTIVITY_STATUS:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(activity->status);
activity->status = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ACTIVITY_TIMESTAMP:
break;
case CTSVC_PROPERTY_ACTIVITY_SERVICE_OPERATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(activity->service_operation);
activity->service_operation = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ACTIVITY_URI:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(activity->uri);
activity->uri = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_ACTIVITY_PHOTO_URL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(activity_photo->photo_url);
activity_photo->photo_url = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ACTIVITY_PHOTO_SORT_INDEX:
break;
case CTSVC_PROPERTY_ADDRESS_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->label);
address->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESS_POSTBOX:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->pobox);
address->pobox = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESS_POSTAL_CODE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->postalcode);
address->postalcode = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESS_REGION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->region);
address->region = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESS_LOCALITY:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->locality);
address->locality = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESS_STREET:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->street);
address->street = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESS_COUNTRY:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->country);
address->country = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESS_EXTENDED:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(address->extended);
address->extended = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_ADDRESSBOOK_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(addressbook->name);
addressbook->name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_ADDRESSBOOK_MODE:
break;
case CTSVC_PROPERTY_COMPANY_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->label);
company->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->name);
company->name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_DEPARTMENT:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->department);
company->department = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_JOB_TITLE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->job_title);
company->job_title = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_ASSISTANT_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->assistant_name);
company->assistant_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_ROLE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->role);
company->role = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_LOGO:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->logo);
company->logo = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_LOCATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->location);
company->location = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_DESCRIPTION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->description);
company->description = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_COMPANY_PHONETIC_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(company->phonetic_name);
company->phonetic_name = SAFE_STRDUP(temp);
break;
default:
if (number_record && number_record->cleaned) {
buf_size = SAFE_STRLEN(number) + SAFE_STRLEN(number_record->cleaned) + SAFE_STRLEN(number_record->normalized) + 3;
temp_number = calloc(1, buf_size);
+ if (NULL == temp_number) {
+ CTS_ERR("calloc() Fail");
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (number)
snprintf(temp_number, buf_size, "%s %s %s", SAFE_STR(number), number_record->cleaned, number_record->normalized);
else
buf_size = SAFE_STRLEN(data) + SAFE_STRLEN(email->email_addr) * (had?2:1) + 4;
temp_data = calloc(1, buf_size);
+ if (NULL == temp_data) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (data)
snprintf(temp_data, buf_size, "%s %s %s",data, email->email_addr, (had?temp:""));
else
buf_size = SAFE_STRLEN(data) + SAFE_STRLEN(nickname->nickname) * (had?2:1) + 4;
temp_data = calloc(1, buf_size);
+ if (NULL == temp_data) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (data)
snprintf(temp_data, buf_size, "%s %s %s", data, nickname->nickname, (had?temp:""));
else
buf_size = SAFE_STRLEN(data)
+ str_len * 2 + 16;
temp_data = calloc(1, buf_size);
+ if (NULL == temp_data) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
char temp[str_len+1];
buf_size = SAFE_STRLEN(data) + SAFE_STRLEN(note->note) * (had?2:1) + 4;
temp_data = calloc(1, buf_size);
+ if (NULL == temp_data) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (data)
snprintf(temp_data, buf_size, "%s %s %s",data, note->note, (had?temp:""));
else
buf_size = SAFE_STRLEN(data) + SAFE_STRLEN(messenger->im_id) * (had?2:1) + 4;
temp_data = calloc(1, buf_size);
+ if (NULL == temp_data) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (data)
snprintf(temp_data, buf_size, "%s %s %s",data, messenger->im_id, (had?temp:""));
else
buf_size = SAFE_STRLEN(data) + SAFE_STRLEN(relationship->name) * (had?2:1) + 4;
temp_data = calloc(1, buf_size);
+ if (NULL == temp_data) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (data)
snprintf(temp_data, buf_size, "%s %s %s",data, relationship->name, (had?temp:""));
else
len = 0;
buf_size = SAFE_STRLEN(data) + str_len * 2 + 18;
temp_data = calloc(1, buf_size);
+ if (NULL == temp_data) {
+ CTS_ERR("calloc() Fail");
+ free(data);
+ free(number);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
char temp[str_len+1];
+ SAFE_STRLEN(name_record->last)+ SAFE_STRLEN(name_record->suffix) + 1;
int reverse_lang_type = ctsvc_contact_get_name_language(name_record);
temp_name = calloc(1, temp_len);
+ if (NULL == temp_name) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (reverse_lang_type == CTSVC_LANG_KOREAN ||
reverse_lang_type == CTSVC_LANG_CHINESE ||
reverse_lang_type == CTSVC_LANG_JAPANESE) {
if (0 == had_contact_id) {
s_query->projection = realloc(s_query->projection, s_query->projection_count+1);
+ if (NULL == s_query->projection) {
+ CTS_ERR("realloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
s_query->projection[s_query->projection_count] = CTSVC_PROPERTY_CONTACT_ID;
s_query->projection_count++;
}
break;
case CTSVC_PROPERTY_CONTACT_DISPLAY_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->display_name);
contact->display_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_DISPLAY_SOURCE_DATA_ID:
break;
case CTSVC_PROPERTY_CONTACT_RINGTONE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->ringtone_path);
contact->ringtone_path = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_IMAGE_THUMBNAIL:
temp = ctsvc_stmt_get_text(stmt, i);
if (temp && *temp) {
snprintf(full_path, sizeof(full_path), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, temp);
+ free(contact->image_thumbnail_path);
contact->image_thumbnail_path = strdup(full_path);
}
break;
break;
case CTSVC_PROPERTY_CONTACT_UID:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->uid);
contact->uid = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_VIBRATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->vibration);
contact->vibration = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_MESSAGE_ALERT:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->message_alert);
contact->message_alert = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_CHANGED_TIME:
lower_ext = strdup(ext);
temp = lower_ext;
+ if (NULL == temp) {
+ CTS_ERR("strdup() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
while (*temp) {
*temp = tolower(*temp);
temp++;
if (normalized_display_name) {
buf_size = SAFE_STRLEN(normalized_display_name) + strlen(contact->sort_name) + 2;
name = calloc(1, buf_size);
+ if (NULL == name) {
+ CTS_ERR("calloc() Fail");
+ free(normalized_display_name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(name, buf_size, "%s %s", normalized_display_name, contact->sort_name);
free(normalized_display_name);
}
if (CONTACTS_ERROR_NONE == ret) {
int name_len = (CHINESE_PINYIN_SPELL_MAX_LEN*strlen(contact->display_name)+1) * sizeof(char);
char *name_nospace = calloc(1, name_len);
+ if (NULL == name_nospace) {
+ CTS_ERR("calloc() Fail");
+ ctsvc_pinyin_free(pinyinname, size);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
char *temp_name = NULL;
ctsvc_normalize_str(contact->display_name, &name);
+ SAFE_STRLEN(pinyinname[i].pinyin_initial)
+ 4;
temp_name = calloc(1, buf_size);
+ if (NULL == temp_name) {
+ CTS_ERR("calloc() Fail");
+ free(name_nospace);
+ ctsvc_pinyin_free(pinyinname, size);
+ free(name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(temp_name, buf_size, "%s %s %s %s",
name, pinyinname[i].pinyin_name, name_nospace, pinyinname[i].pinyin_initial);
free(name);
buf_size = SAFE_STRLEN(name) + SAFE_STRLEN(&contact->display_name[i]) + 2;
temp_name = calloc(1, buf_size);
-
+ if (NULL == temp_name) {
+ CTS_ERR("calloc() Fail");
+ free(name_nospace);
+ ctsvc_pinyin_free(pinyinname, size);
+ free(name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(temp_name, buf_size, "%s %s", name, &contact->display_name[i]);
free(name);
__ctsvc_contact_get_initial(contact->display_name, initial, sizeof(initial), false);
buf_size = SAFE_STRLEN(normalized_display_name) + strlen(initial) + 2;
name = calloc(1, buf_size);
+ if (NULL == name) {
+ CTS_ERR("calloc() Fail");
+ free(normalized_display_name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(name, buf_size, "%s %s", normalized_display_name, initial);
free(normalized_display_name);
__ctsvc_contact_get_initial(contact->display_name, initial, sizeof(initial), false);
buf_size = SAFE_STRLEN(normalized_display_name) + strlen(initial) + 2;
name = calloc(1, buf_size);
+ if (NULL == name) {
+ CTS_ERR("calloc() Fail");
+ free(normalized_display_name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(name, buf_size, "%s %s", normalized_display_name, initial);
free(normalized_display_name);
int count, i, j;
int full_len, chosung_len;
char *chosung = calloc(1, strlen(contact->display_name) * 5);
+ if (NULL == chosung) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
int total_len = strlen(contact->display_name);
count = ctsvc_get_chosung(contact->display_name, chosung, strlen(contact->display_name) * 5);
buf_size = SAFE_STRLEN(name) + SAFE_STRLEN(&contact->display_name[i]) + SAFE_STRLEN(&chosung[j]) + 3;
temp_name = calloc(1, buf_size);
+ if (NULL == temp_name) {
+ CTS_ERR("calloc() Fail");
+ free(chosung);
+ free(name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(temp_name, buf_size, "%s %s %s", name, &contact->display_name[i], &chosung[j]);
__ctsvc_contact_get_initial(contact->display_name, initial, sizeof(initial), false);
buf_size = SAFE_STRLEN(normalized_display_name) + strlen(initial) + 2;
name = calloc(1, buf_size);
+ if (NULL == name) {
+ CTS_ERR("calloc() Fail");
+ free(normalized_display_name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(name, buf_size, "%s %s", normalized_display_name, initial);
free(normalized_display_name);
if (0 < buf_size) {
buf_size += 3; /* for space and null string */
phonetic = calloc(1, buf_size);
+ if (NULL == phonetic) {
+ CTS_ERR("calloc() Fail");
+ free(name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
if (name_record->phonetic_first)
temp_len += snprintf(phonetic, buf_size, "%s", name_record->phonetic_first);
if (name_record->phonetic_middle) {
if (name) {
buf_size = SAFE_STRLEN(name) + SAFE_STRLEN(phonetic) + 2;
temp_name = calloc(1, buf_size);
+ if (NULL == temp_name) {
+ CTS_ERR("calloc() Fail");
+ free(phonetic);
+ free(name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
snprintf(temp_name, buf_size, "%s %s", name, phonetic);
free(name);
name = temp_name;
if (0 < len) {
len += 3; /* for space and null string */
*phonetic = calloc(1, len);
+ if (NULL == *phonetic) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
int temp_len = 0;
if (order == CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST) {
}
}
- return len;
+ return CONTACTS_ERROR_NONE;
}
static inline int __ctsvc_get_sort_name_to_pinyin(const char *display_name, char **sort_name) {
int name_len = (SAFE_STRLEN(src)+1)*sizeof(char);
char *name_nospace = NULL;
name_nospace = calloc(1, name_len);
+ if (NULL == name_nospace) {
+ CTS_ERR("calloc() Fail");
+ return NULL;
+ }
int len = strlen(src);
int i =0;
if (0 < temp_display_len) {
temp_display_len += 7;
temp_display = calloc(1, temp_display_len);
+ if (NULL == temp_display) {
+ CTS_ERR("calloc() Fail");
+ return;
+ }
len=0;
/* get language type */
if (name->prefix && temp_display) {
display_len = SAFE_STRLEN(name->prefix) + temp_display_len + 2;
display = calloc(1, display_len);
+ if (NULL == display) {
+ CTS_ERR("calloc() Fail");
+ free(temp_display);
+ return;
+ }
char * temp = __ctsvc_remove_first_space(name->prefix);
snprintf(display, display_len, "%s %s", temp, temp_display);
free(temp);
temp_display_len += 6;
/* make reverse_temp_display_name */
temp_display = calloc(1, temp_display_len);
+ if (NULL == temp_display) {
+ CTS_ERR("calloc() Fail");
+ return;
+ }
len = 0;
if (name->first) {
if (name->prefix && temp_display) {
display_len = SAFE_STRLEN(name->prefix) + temp_display_len + 2;
display = calloc(1, display_len);
+ if (NULL == display) {
+ CTS_ERR("calloc() Fail");
+ free(temp_display);
+ return;
+ }
snprintf(display, display_len, "%s %s", name->prefix, temp_display);
contact->display_name = display;
contact->sort_name = temp_display;
ctsvc_nickname_s *nickname = (ctsvc_nickname_s *)cur->data;
if (nickname && nickname->nickname) {
ctsvc_record_set_property_flag((ctsvc_record_s *)contact, _contacts_contact.display_name, CTSVC_PROPERTY_FLAG_DIRTY);
+ free(contact->display_name);
contact->display_name = SAFE_STRDUP(nickname->nickname);
contact->display_source_type = CONTACTS_DISPLAY_NAME_SOURCE_TYPE_NICKNAME;
break;
ctsvc_number_s *number = (ctsvc_number_s *)cur->data;
if (number && number->number) {
ctsvc_record_set_property_flag((ctsvc_record_s *)contact, _contacts_contact.display_name, CTSVC_PROPERTY_FLAG_DIRTY);
+ free(contact->display_name);
contact->display_name = SAFE_STRDUP(number->number);
contact->display_source_type = CONTACTS_DISPLAY_NAME_SOURCE_TYPE_NUMBER;
break;
ctsvc_email_s *email = (ctsvc_email_s *)cur->data;
if (email && email->email_addr) {
ctsvc_record_set_property_flag((ctsvc_record_s *)contact, _contacts_contact.display_name, CTSVC_PROPERTY_FLAG_DIRTY);
+ free(contact->display_name);
contact->display_name = SAFE_STRDUP(email->email_addr);
contact->display_source_type = CONTACTS_DISPLAY_NAME_SOURCE_TYPE_EMAIL;
break;
break;
case CTSVC_PROPERTY_EMAIL_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(email->label);
email->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EMAIL_EMAIL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(email->email_addr);
email->email_addr = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EMAIL_IS_DEFAULT:
break;
case CTSVC_PROPERTY_EVENT_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(event->label);
event->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EVENT_DATE:
break;
case CTSVC_PROPERTY_EXTENSION_DATA2:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data2);
extension->data2 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA3:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data3);
extension->data3 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA4:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data4);
extension->data4 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA5:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data5);
extension->data5 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA6:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data6);
extension->data6 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA7:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data7);
extension->data7 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA8:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data8);
extension->data8 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA9:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data9);
extension->data9 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA10:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data10);
extension->data10 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA11:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data11);
extension->data11 = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_EXTENSION_DATA12:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(extension->data12);
extension->data12 = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_GROUP_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(group->name);
group->name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_GROUP_RINGTONE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(group->ringtone_path);
group->ringtone_path = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_GROUP_IMAGE:
temp = ctsvc_stmt_get_text(stmt, i);
if (temp) {
snprintf(full_path, sizeof(full_path), "%s/%s", CTS_GROUP_IMAGE_LOCATION, temp);
+ free(group->image_thumbnail_path);
group->image_thumbnail_path = strdup(full_path);
}
break;
case CTSVC_PROPERTY_GROUP_VIBRATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(group->vibration);
group->vibration = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_GROUP_MESSAGE_ALERT:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(group->message_alert);
group->message_alert = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_GROUP_EXTRA_DATA:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(group->extra_data);
group->extra_data = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_GROUP_IS_READ_ONLY:
break;
case CTSVC_PROPERTY_GROUP_RELATION_GROUP_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(group_relation->group_name);
group_relation->group_name = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_IMAGE_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(image->label);
image->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_IMAGE_PATH:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(image->path);
image->path = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_IMAGE_IS_DEFAULT:
- temp = ctsvc_stmt_get_text(stmt, i);
- image->is_default = SAFE_STRDUP(temp);
+ image->is_default = ctsvc_stmt_get_int(stmt, i);
break;
default:
break;
break;
case CTSVC_PROPERTY_MESSENGER_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(messenger->label);
messenger->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_MESSENGER_IM_ID:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(messenger->im_id);
messenger->im_id = SAFE_STRDUP(temp);
break;
default:
if (0 < temp_display_len) {
temp_display_len += 7;
temp_display = calloc(1, temp_display_len);
+ if (NULL == temp_display) {
+ CTS_ERR("calloc() Fail");
+ return;
+ }
len=0;
if (name->last) {
if (name->prefix && temp_display) {
display_len = SAFE_STRLEN(name->prefix) + temp_display_len + 2;
display = calloc(1, display_len);
+ if (NULL == display) {
+ CTS_ERR("calloc() Fail");
+ free(temp_display);
+ return;
+ }
snprintf(display, display_len, "%s %s", name->prefix, temp_display);
my_profile->reverse_display_name = display;
free(temp_display);
temp_display_len += 6;
/* make reverse_temp_display_name */
temp_display = calloc(1, temp_display_len);
+ if (NULL == temp_display) {
+ CTS_ERR("calloc() Fail");
+ return;
+ }
len = 0;
if (name->first) {
if (name->prefix && temp_display) {
display_len = SAFE_STRLEN(name->prefix) + temp_display_len + 2;
display = calloc(1, display_len);
+ if (NULL == display) {
+ CTS_ERR("calloc() Fail");
+ free(temp_display);
+ return;
+ }
snprintf(display, display_len, "%s %s", name->prefix, temp_display);
my_profile->display_name = display;
free(temp_display);
ctsvc_nickname_s *nickname = (ctsvc_nickname_s *)cur->data;
if (nickname && nickname->nickname) {
ctsvc_record_set_property_flag((ctsvc_record_s *)my_profile, _contacts_my_profile.display_name, CTSVC_PROPERTY_FLAG_DIRTY);
+ free(my_profile->display_name);
my_profile->display_name = SAFE_STRDUP(nickname->nickname);
break;
}
ctsvc_number_s *number = (ctsvc_number_s *)cur->data;
if (number && number->number) {
ctsvc_record_set_property_flag((ctsvc_record_s *)my_profile, _contacts_my_profile.display_name, CTSVC_PROPERTY_FLAG_DIRTY);
+ free(my_profile->display_name);
my_profile->display_name = SAFE_STRDUP(number->number);
break;
}
ctsvc_email_s *email = (ctsvc_email_s *)cur->data;
if (email && email->email_addr) {
ctsvc_record_set_property_flag((ctsvc_record_s *)my_profile, _contacts_my_profile.display_name, CTSVC_PROPERTY_FLAG_DIRTY);
+ free(my_profile->display_name);
my_profile->display_name = SAFE_STRDUP(email->email_addr);
break;
}
if (false == had_my_profile_id) {
s_query->projection = realloc(s_query->projection, s_query->projection_count+1);
+ if (NULL == s_query->projection) {
+ CTS_ERR("realloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
s_query->projection[s_query->projection_count] = CTSVC_PROPERTY_MY_PROFILE_ID;
s_query->projection_count++;
}
break;
case CTSVC_PROPERTY_MY_PROFILE_DISPLAY_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(my_profile->display_name);
my_profile->display_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_MY_PROFILE_ADDRESSBOOK_ID:
temp = ctsvc_stmt_get_text(stmt, i);
if (temp) {
snprintf(full_path, sizeof(full_path), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, temp);
+ free(my_profile->image_thumbnail_path);
my_profile->image_thumbnail_path = strdup(full_path);
}
break;
break;
case CTSVC_PROPERTY_MY_PROFILE_UID:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(my_profile->uid);
my_profile->uid = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_NAME_FIRST:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->first);
name->first = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NAME_LAST:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->last);
name->last = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NAME_ADDITION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->addition);
name->addition = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NAME_SUFFIX:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->suffix);
name->suffix = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NAME_PREFIX:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->prefix);
name->prefix = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NAME_PHONETIC_FIRST:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->phonetic_first);
name->phonetic_first = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NAME_PHONETIC_MIDDLE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->phonetic_middle);
name->phonetic_middle = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NAME_PHONETIC_LAST:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(name->phonetic_last);
name->phonetic_last = SAFE_STRDUP(temp);
break;
default:
else {
if (CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST == op_code) {
*name_lookup = calloc(1, SAFE_STRLEN(name_first) + SAFE_STRLEN(name_last) + 3);
+ if (NULL == *name_lookup) {
+ CTS_ERR("calloc() Fail");
+ return;
+ }
snprintf(*name_lookup, SAFE_STRLEN(name_first) + SAFE_STRLEN(name_last) + 3, "%s %c%s",
SAFE_STR(name_first), 0x7E, SAFE_STR(name_last));
}
else {
*name_lookup = calloc(1, SAFE_STRLEN(name_first) + SAFE_STRLEN(name_last) + 5);
+ if (NULL == *name_lookup) {
+ CTS_ERR("calloc() Fail");
+ return;
+ }
snprintf(*name_lookup, SAFE_STRLEN(name_first) + SAFE_STRLEN(name_last) + 5, "%s,%c %c%s",
SAFE_STR(name_last), 0x7E, 0x7E, SAFE_STR(name_first));
}
break;
case CTSVC_PROPERTY_NICKNAME_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(nickname->nickname);
nickname->nickname = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_NOTE_NOTE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(note->note);
note->note = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_NUMBER_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(number->label);
number->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NUMBER_NUMBER:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(number->number);
number->number = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_NUMBER_NUMBER_FILTER:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(number->lookup);
number->lookup = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_PERSON_DISPLAY_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->display_name);
person->display_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_DISPLAY_NAME_INDEX:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->display_name_index);
person->display_name_index = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_DISPLAY_CONTACT_ID:
break;
case CTSVC_PROPERTY_PERSON_RINGTONE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->ringtone_path);
person->ringtone_path = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_IMAGE_THUMBNAIL:
temp = ctsvc_stmt_get_text(stmt, i);
if (temp && *temp) {
snprintf(full_path, sizeof(full_path), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, temp);
+ free(person->image_thumbnail_path);
person->image_thumbnail_path = strdup(full_path);
}
break;
break;
case CTSVC_PROPERTY_PERSON_ADDRESSBOOK_IDS:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->addressbook_ids);
person->addressbook_ids = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_VIBRATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->vibration);
person->vibration = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_STATUS:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->status);
person->status = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_MESSAGE_ALERT:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->message_alert);
person->message_alert = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_PERSON_DISPLAY_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->display_name);
person->display_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_DISPLAY_NAME_INDEX:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->display_name_index);
person->display_name_index = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_DISPLAY_CONTACT_ID:
break;
case CTSVC_PROPERTY_PERSON_RINGTONE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->ringtone_path);
person->ringtone_path = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_IMAGE_THUMBNAIL:
temp = ctsvc_stmt_get_text(stmt, i);
if (temp && *temp) {
snprintf(full_path, sizeof(full_path), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, temp);
+ free(person->image_thumbnail_path);
person->image_thumbnail_path = strdup(full_path);
}
break;
case CTSVC_PROPERTY_PERSON_VIBRATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->vibration);
person->vibration = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_MESSAGE_ALERT:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->message_alert);
person->message_alert = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_STATUS:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->status);
person->status = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_IS_FAVORITE:
break;
case CTSVC_PROPERTY_PERSON_ADDRESSBOOK_IDS:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(person->addressbook_ids);
person->addressbook_ids = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PERSON_FAVORITE_PRIORITY:
ctsvc_query_s *s_query = (ctsvc_query_s *)query;
if (0 == s_query->projection_count) {
- unsigned int *projection = malloc(sizeof(unsigned int)*s_query->property_count);
int i;
+ unsigned int *projection = malloc(sizeof(unsigned int)*s_query->property_count);
+ if (NULL == projection) {
+ CTS_ERR("malloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
for (i=0;i<s_query->property_count;i++) {
projection[i] = s_query->properties[i].property_id;
}
break;
case CTSVC_PROPERTY_PHONELOG_ADDRESS:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(phonelog->address);
phonelog->address = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PHONELOG_LOG_TIME:
break;
case CTSVC_PROPERTY_PHONELOG_EXTRA_DATA2:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(phonelog->extra_data2);
phonelog->extra_data2 = SAFE_STRDUP(temp);
break;
#ifdef ENABLE_SIM_FEATURE
break;
case CTSVC_PROPERTY_PROFILE_UID:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->uid);
profile->uid = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PROFILE_TEXT:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->text);
profile->text = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PROFILE_ORDER:
break;
case CTSVC_PROPERTY_PROFILE_SERVICE_OPERATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->service_operation);
profile->service_operation = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PROFILE_MIME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->mime);
profile->mime = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PROFILE_APP_ID:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->app_id);
profile->app_id = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PROFILE_URI:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->uri);
profile->uri = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PROFILE_CATEGORY:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->category);
profile->category = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_PROFILE_EXTRA_DATA:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(profile->extra_data);
profile->extra_data = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_RELATIONSHIP_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(relationship->label);
relationship->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_RELATIONSHIP_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(relationship->name);
relationship->name = SAFE_STRDUP(temp);
break;
default:
break;
case CTSVC_PROPERTY_SDN_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(sdn->name);
sdn->name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_SDN_NUMBER:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(sdn->number);
sdn->number = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_SDN_SIM_SLOT_NO:
break;
case CTSVC_PROPERTY_CONTACT_DISPLAY_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->display_name);
contact->display_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_DISPLAY_SOURCE_DATA_ID:
break;
case CTSVC_PROPERTY_CONTACT_RINGTONE:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->ringtone_path);
contact->ringtone_path = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_IMAGE_THUMBNAIL:
temp = ctsvc_stmt_get_text(stmt, i);
if (temp && *temp) {
snprintf(full_path, sizeof(full_path), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, temp);
+ free(contact->image_thumbnail_path);
contact->image_thumbnail_path = strdup(full_path);
}
break;
break;
case CTSVC_PROPERTY_CONTACT_UID:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->uid);
contact->uid = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_VIBRATION:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->vibration);
contact->vibration = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_MESSAGE_ALERT:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(contact->message_alert);
contact->message_alert = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_CONTACT_CHANGED_TIME:
break;
case CTSVC_PROPERTY_SPEEDDIAL_NUMBER:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(speeddial->number);
speeddial->number = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_SPEEDDIAL_NUMBER_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(speeddial->label);
speeddial->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_SPEEDDIAL_NUMBER_TYPE:
break;
case CTSVC_PROPERTY_SPEEDDIAL_DISPLAY_NAME:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(speeddial->display_name);
speeddial->display_name = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_SPEEDDIAL_IMAGE_THUMBNAIL:
temp = ctsvc_stmt_get_text(stmt, i);
if (temp) {
snprintf(full_path, sizeof(full_path), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, temp);
+ free(speeddial->image_thumbnail_path);
speeddial->image_thumbnail_path = strdup(full_path);
}
break;
break;
case CTSVC_PROPERTY_URL_LABEL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(url->label);
url->label = SAFE_STRDUP(temp);
break;
case CTSVC_PROPERTY_URL_URL:
temp = ctsvc_stmt_get_text(stmt, i);
+ free(url->url);
url->url = SAFE_STRDUP(temp);
break;
default:
buf_size = CTSVC_FILTER_LENGTH;
out_cond = calloc(1, buf_size);
+ if (NULL == out_cond) {
+ CTS_ERR("calloc() Fail");
+ free(cond);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
len = 0;
if (cond) {
temp_len = SAFE_SNPRINTF(&out_cond, &buf_size, len, "(");
query_size = CTS_SQL_MAX_LEN;
query = calloc(1, query_size);
+ if (NULL == query) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
len = 0;
if (s_query->distinct)
temp_len = SAFE_SNPRINTF(&query, &query_size, len, "SELECT DISTINCT ");
char *search_keyword = NULL;
search_keyword = __ctsvc_db_make_search_keyword(keyword);
+ if (NULL == search_keyword) {
+ CTS_ERR("__ctsvc_db_make_search_keyword() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
if (phonenumber) {
temp_len = SAFE_SNPRINTF(query, query_size, len, "(SELECT contact_id FROM ");
}
else {
temp_keyword = __ctsvc_db_get_str_with_escape((char*)keyword, strlen((char*)keyword), true);
+ if (NULL == temp_keyword) {
+ CTS_ERR("__ctsvc_db_get_str_with_escape() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
char temp_str[CTS_SQL_MIN_LEN + (strlen(field) + strlen(temp_keyword)) * SORT_CHECK_LEN];
snprintf(temp_str, sizeof(temp_str),
" ORDER BY "
query_size = CTS_SQL_MAX_LEN;
query = calloc(1, query_size);
+ if (NULL == query) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
len = 0;
if (STRING_EQUAL == strcmp(keyword, "+")) {
}
else {
char *temp_keyword = __ctsvc_db_get_str_with_escape((char*)keyword, strlen((char*)keyword), true);
+ if (NULL == temp_keyword) {
+ CTS_ERR("__ctsvc_db_get_str_with_escape() Fail");
+ free(query);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
temp_len = SAFE_SNPRINTF(&query, &query_size, len, " SELECT * FROM ");
if (0 <= temp_len) len+= temp_len;
temp_len = SAFE_SNPRINTF(&query, &query_size, len, table);
if (range & CONTACTS_SEARCH_RANGE_EMAIL) {
/* search contact which has email address started with keyword */
char *temp_keyword = __ctsvc_db_get_str_with_escape((char*)keyword, strlen((char*)keyword), true);
+ if (NULL == temp_keyword) {
+ CTS_ERR("__ctsvc_db_get_str_with_escape() Fail");
+ free(query);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
temp_len = SAFE_SNPRINTF(&query, &query_size, len, "SELECT * FROM ");
if (0 <= temp_len) len+= temp_len;
temp_len = SAFE_SNPRINTF(&query, &query_size, len, table);
query_size = CTS_SQL_MAX_LEN;
query = calloc(1, query_size);
+ if (NULL == query) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
len = 0;
if (s_query->distinct)
query_size = CTS_SQL_MAX_LEN;
query = calloc(1, query_size);
+ if (NULL == query) {
+ CTS_ERR("calloc() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
+
len = 0;
if (s_query->distinct) {
temp_len = SAFE_SNPRINTF(&query, &query_size, len, "SELECT COUNT(*) FROM (SELECT DISTINCT ");
UCollator *collator;
char *region = strdup(ctsvc_get_langset());
+ if (NULL == region) {
+ CTS_ERR("strdup() Fail");
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
char *dot = strchr(region, '.');
if (dot)
static inline void __ctsvc_noti_publish_contact_change(void)
{
int fd = open(CTSVC_NOTI_CONTACT_CHANGED, O_TRUNC | O_RDWR);
+
if (0 <= fd) {
close(fd);
contact_change = false;
ext = "";
lower_ext = strdup(ext);
+ if (NULL == lower_ext) {
+ CTS_ERR("strdup() Fail");
+ return;
+ }
temp = lower_ext;
while (*temp) {
*temp = tolower(*temp);
int height = 0;
int dest_fd = 0;
int mimetype = 0;
- unsigned int size = 0;
+ uint64_t size = 0;
void *buffer = NULL;
void *buffer_temp = NULL;
int ret;
}
ret = image_util_decode_jpeg(info->src, colorspace, (unsigned char **)&buffer, &width,
- &height, &size);
+ &height, (unsigned int *)&size);
if (IMAGE_UTIL_ERROR_NONE != ret) {
info->ret = CONTACTS_ERROR_SYSTEM;
return true;
return false;
}
- packet = _ctsvc_image_create_media_packet(fmt, buffer, size);
+ packet = _ctsvc_image_create_media_packet(fmt, buffer, (unsigned int)size);
if (NULL == packet) {
CTS_ERR("_ctsvc_image_create_media_packet() Fail");
media_format_unref(fmt);
return false;
}
- ret = _ctsvc_image_rotate(packet, rotation, &buffer_temp, (uint64_t *)&size);
+ ret = _ctsvc_image_rotate(packet, rotation, &buffer_temp, &size);
media_packet_destroy(packet);
media_format_unref(fmt);
return false;
}
- packet = _ctsvc_image_create_media_packet(fmt, buffer, size);
+ packet = _ctsvc_image_create_media_packet(fmt, buffer, (unsigned int)size);
if (NULL == packet) {
CTS_ERR("_ctsvc_image_create_media_packet() Fail");
media_format_unref(fmt);
}
ret = _ctsvc_image_resize(packet, resized_width, resized_height, &buffer_temp,
- (uint64_t *)&size);
+ &size);
media_packet_destroy(packet);
media_format_unref(fmt);
}
result = calloc(1, sizeof(process_stat));
+ if (NULL == result)
+ {
+ CTS_ERR("calloc() Fail");
+ return NULL;
+ }
for (i=0; i < 10;i++) {
if (i < 3)
result->cpu_work_time += cpu_time[i];
static sim_contact_s * __ctsvc_server_sim_record_clone(TelSimPbRecord_t *sim_record)
{
sim_contact_s *record = calloc(1,sizeof(sim_contact_s));
+ if (NULL == record)
+ {
+ CTS_ERR("calloc() Fail");
+ return NULL;
+ }
record->sim_index = sim_record->index;
record->name = SAFE_STRDUP((char*)sim_record->name);
while (cp_name[cp_index]) {
TapiHandle *handle;
ctsvc_sim_info_s *info = calloc(1, sizeof(ctsvc_sim_info_s));
+ if (NULL == info)
+ {
+ CTS_ERR("calloc() Fail");
+ g_strfreev(cp_name);
+ return CONTACTS_ERROR_OUT_OF_MEMORY;
+ }
info->cp_name = strdup(cp_name[cp_index]);
INFO("SIM cp_name[%d] : %s", cp_index, info->cp_name);
info->sim_slot_no = cp_index;
char *langset = NULL;
new_langset = vconf_keynode_get_str(key);
+ if (NULL == new_langset)
+ {
+ CTS_ERR("vconf_keynode_get_str() Fail");
+ return;
+ }
langset = ctsvc_get_langset();
INFO("%s --> %s", langset, new_langset);
if (STRING_EQUAL != strcmp(langset, new_langset)) {