[Tizen 6.0] Enable build with GCC 9.2 22/221822/3 submit/tizen/20200108.120619 submit/tizen/20200117.035357
authorchakradhar <v.pogiri@samsung.com>
Tue, 7 Jan 2020 17:40:18 +0000 (23:10 +0530)
committerchakradhar <v.pogiri@samsung.com>
Wed, 8 Jan 2020 06:44:38 +0000 (12:14 +0530)
Change-Id: Iaee79b6eaf12075910475ee590f4f583ecab2c13

13 files changed:
email-api/CMakeLists.txt
email-common-use/email-convert.c
email-core/CMakeLists.txt
email-core/email-core-gmime.c
email-core/email-core-mail.c
email-core/email-core-mailbox-sync.c
email-core/email-core-smtp.c
email-core/email-core-utils.c
email-core/email-storage/email-storage.c
email-daemon/email-daemon-mailbox.c
packaging/email-service.spec
test/CMakeLists.txt
test/testapp-account.c

index e8dfaec37b4c7891db8774d718793098f74b4a19..4a6cc3b924857800673af647b82cadabfd90e132 100755 (executable)
@@ -13,7 +13,7 @@ MESSAGE(">>> Build type: ${CMAKE_BUILD_TYPE}")
 
 
 SET(VISIBILITY "-DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\"")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden -Wno-stringop-truncation -Wno-stringop-overflow -Wno-dangling-else -Wno-restrict")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections")
 
 ##########################################################
index 7beab3843c0e01cd85513a983e8f48d4619deda1..e3ed72ac0dbc79ed305d61eee3a978bc59e865d0 100755 (executable)
@@ -522,6 +522,7 @@ INTERNAL_FUNC int em_convert_time_t_to_string(time_t *input_time, char **output_
        char temp_buffer[20] = { 0, };
        struct tm *temp_time_info;
        struct tm time_buf;
+       int ret = 0;
        if (!input_time || !output_datetime_string) {
                EM_DEBUG_EXCEPTION("EMAIL_ERROR_INVALID_PARAM");
                return EMAIL_ERROR_INVALID_PARAM;
@@ -533,9 +534,13 @@ INTERNAL_FUNC int em_convert_time_t_to_string(time_t *input_time, char **output_
                EM_DEBUG_EXCEPTION("localtime failed.");
                return EMAIL_ERROR_SYSTEM_FAILURE;
        }
-       SNPRINTF(temp_buffer, sizeof(temp_buffer), "%04d%02d%02d%02d%02d%02d",
+       ret = SNPRINTF(temp_buffer, sizeof(temp_buffer), "%04d%02d%02d%02d%02d%02d",
                temp_time_info->tm_year + 1970, temp_time_info->tm_mon, temp_time_info->tm_mday, temp_time_info->tm_hour, temp_time_info->tm_min, temp_time_info->tm_sec);
 
+       if(ret < 0){
+               EM_DEBUG_LOG("WARNING: Text is truncated (%s)", temp_buffer);
+       }
+
        *output_datetime_string = EM_SAFE_STRDUP(temp_buffer);
 
        EM_DEBUG_FUNC_END("err %d", EMAIL_ERROR_NONE);
index f4bd0680283994b964806d53255af9ad6ffe8d4e..d0aae80719c21757ce181f327ead17e3fb15d3ac 100755 (executable)
@@ -12,7 +12,7 @@ MESSAGE(">>> current directory: ${CMAKE_CURRENT_SOURCE_DIR}")
 MESSAGE(">>> Build type: ${CMAKE_BUILD_TYPE}")
 
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden -Wno-stringop-truncation -Wno-stringop-overflow -Wno-dangling-else -Wno-restrict")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections")
 
 ##########################################################
index 9c331a6205abf589318f3e1b6af687f031654737..0e4f3adf5f36b4a2c707ea13dccb7f6b97b5cc0a 100755 (executable)
@@ -342,8 +342,9 @@ static void emcore_gmime_pop3_parse_foreach_cb(GMimeObject *parent, GMimeObject
 
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
+                               if(utf8_text)
+                                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
                                EM_SAFE_FREE(file->name);
@@ -616,8 +617,9 @@ static void emcore_gmime_pop3_parse_foreach_cb(GMimeObject *parent, GMimeObject
 
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
+                               if(utf8_text)
+                                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
                                EM_SAFE_FREE(file->name);
@@ -870,8 +872,9 @@ static void emcore_gmime_eml_parse_foreach_cb(GMimeObject *parent, GMimeObject *
 
                if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                        EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
+                       if(utf8_text)
+                               EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                }
-               EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                if (utf8_text) {
                        EM_SAFE_FREE(file->name);
@@ -1209,8 +1212,9 @@ static void emcore_gmime_eml_parse_foreach_cb(GMimeObject *parent, GMimeObject *
 
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
+                               if(utf8_text)
+                                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
                                EM_SAFE_FREE(file->name);
@@ -1359,9 +1363,10 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_foreach_cb(GMimeObject *parent, GMime
                        msg_disposition_str = (char *)g_mime_content_disposition_get_disposition(msg_disposition);
                        msg_disposition_filename = (char *)g_mime_content_disposition_get_parameter(msg_disposition, "filename");
                        if (EM_SAFE_STRLEN(msg_disposition_filename) == 0) msg_disposition_filename = NULL;
+                       EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
+                       EM_DEBUG_LOG_SEC("RFC822/Message Disposition-Filename[%s]", msg_disposition_filename);
                }
-               EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
-               EM_DEBUG_LOG_SEC("RFC822/Message Disposition-Filename[%s]", msg_disposition_filename);
+
                /*Content Disposition - END*/
 
                /*Content ID*/
@@ -1392,8 +1397,9 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_foreach_cb(GMimeObject *parent, GMime
 
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
+                               if(utf8_text)
+                                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
                                EM_SAFE_FREE(file->name);
@@ -1503,10 +1509,11 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_foreach_cb(GMimeObject *parent, GMime
                        if (EM_SAFE_STRLEN(disposition_filename) == 0) disposition_filename = NULL;
                        disposition_size_str = (char *)g_mime_content_disposition_get_parameter(disposition, "size");
                        if (disposition_size_str) disposition_size = atoi(disposition_size_str);
+                       EM_DEBUG_LOG("Disposition[%s]", disposition_str);
+                       EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
+                       EM_DEBUG_LOG("Disposition size[%d]", disposition_size);
                }
-               EM_DEBUG_LOG("Disposition[%s]", disposition_str);
-               EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
-               EM_DEBUG_LOG("Disposition size[%d]", disposition_size);
+
                /*Content Disposition - END*/
 
                /*Content ID*/
@@ -1699,9 +1706,9 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_foreach_cb(GMimeObject *parent, GMime
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
+                               EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                                EM_SAFE_FREE(file->name);
                                file->name = EM_SAFE_STRDUP(utf8_text);
                        }
@@ -1782,9 +1789,9 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_foreach_cb(GMimeObject *parent, GMime
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
+                               EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                                EM_SAFE_FREE(file->name);
                                file->name = EM_SAFE_STRDUP(utf8_text);
                        }
@@ -1872,9 +1879,10 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_full_foreach_cb(GMimeObject *parent,
                        msg_disposition_str = (char *)g_mime_content_disposition_get_disposition(msg_disposition);
                        msg_disposition_filename = (char *)g_mime_content_disposition_get_parameter(msg_disposition, "filename");
                        if (EM_SAFE_STRLEN(msg_disposition_filename) == 0) msg_disposition_filename = NULL;
+                       EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
+                       EM_DEBUG_LOG_SEC("RFC822/Message Disposition-Filename[%s]", msg_disposition_filename);
                }
-               EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
-               EM_DEBUG_LOG_SEC("RFC822/Message Disposition-Filename[%s]", msg_disposition_filename);
+
                /*Content Disposition - END*/
 
                /*Content ID*/
@@ -1911,8 +1919,9 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_full_foreach_cb(GMimeObject *parent,
 
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
+                               if(utf8_text)
+                                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
                                EM_SAFE_FREE(file->name);
@@ -2004,9 +2013,10 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_full_foreach_cb(GMimeObject *parent,
                        disposition_str = (char *)g_mime_content_disposition_get_disposition(disposition);
                        disposition_filename = (char *)g_mime_content_disposition_get_parameter(disposition, "filename");
                        if (EM_SAFE_STRLEN(disposition_filename) == 0) disposition_filename = NULL;
+                       EM_DEBUG_LOG("Disposition[%s]", disposition_str);
+                       EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
                }
-               EM_DEBUG_LOG("Disposition[%s]", disposition_str);
-               EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
+
                /*Content Disposition - END*/
 
                /*Content ID*/
@@ -2209,11 +2219,11 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_full_foreach_cb(GMimeObject *parent,
                        }
 
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
-                               EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
+                               EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err); 
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
+                               EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                                EM_SAFE_FREE(file->name);
                                file->name = EM_SAFE_STRDUP(utf8_text);
                        }
@@ -2291,9 +2301,9 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_full_foreach_cb(GMimeObject *parent,
                        if (!(utf8_text = g_mime_utils_header_decode_text(file->name))) {
                                EM_DEBUG_EXCEPTION("g_mime_utils_header_decode_text failed [%d]", err);
                        }
-                       EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
 
                        if (utf8_text) {
+                               EM_DEBUG_LOG_SEC("utf8_text : [%s]", utf8_text);
                                EM_SAFE_FREE(file->name);
                                file->name = EM_SAFE_STRDUP(utf8_text);
                        }
@@ -2379,8 +2389,8 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_bodystructure_foreach_cb(GMimeObject
                msg_disposition = g_mime_object_get_content_disposition(part);
                if (msg_disposition) {
                        msg_disposition_str = (char *)g_mime_content_disposition_get_disposition(msg_disposition);
+                       EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
                }
-               EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
                /*Content Disposition - END*/
 
                if (msg_disposition_str && g_ascii_strcasecmp(msg_disposition_str, GMIME_DISPOSITION_ATTACHMENT) == 0) {
@@ -2460,9 +2470,10 @@ INTERNAL_FUNC void emcore_gmime_imap_parse_bodystructure_foreach_cb(GMimeObject
                        disposition_str = (char *)g_mime_content_disposition_get_disposition(disposition);
                        disposition_filename = (char *)g_mime_content_disposition_get_parameter(disposition, "filename");
                        if (EM_SAFE_STRLEN(disposition_filename) == 0) disposition_filename = NULL;
+
+                       EM_DEBUG_LOG("Disposition[%s]", disposition_str);
+                       EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
                }
-               EM_DEBUG_LOG("Disposition[%s]", disposition_str);
-               EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
                /*Content Disposition - END*/
 
                /*Content ID*/
@@ -2608,8 +2619,9 @@ INTERNAL_FUNC void emcore_gmime_get_body_sections_foreach_cb(GMimeObject *parent
                msg_disposition = g_mime_object_get_content_disposition(part);
                if (msg_disposition) {
                        msg_disposition_str = (char *)g_mime_content_disposition_get_disposition(msg_disposition);
+                       EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
                }
-               EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
+               
                /*Content Disposition - END*/
 
                if (!msg_disposition_str || g_ascii_strcasecmp(msg_disposition_str, GMIME_DISPOSITION_ATTACHMENT) != 0) {
@@ -2708,9 +2720,10 @@ INTERNAL_FUNC void emcore_gmime_get_body_sections_foreach_cb(GMimeObject *parent
                        disposition_str = (char *)g_mime_content_disposition_get_disposition(disposition);
                        disposition_filename = (char *)g_mime_content_disposition_get_parameter(disposition, "filename");
                        if (EM_SAFE_STRLEN(disposition_filename) == 0) disposition_filename = NULL;
+                       EM_DEBUG_LOG("Disposition[%s]", disposition_str);
+                       EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
                }
-               EM_DEBUG_LOG("Disposition[%s]", disposition_str);
-               EM_DEBUG_LOG_SEC("Disposition-Filename[%s]", disposition_filename);
+
                /*Content Disposition - END*/
 
                /*Content ID*/
@@ -2844,8 +2857,9 @@ INTERNAL_FUNC void emcore_gmime_get_attachment_section_foreach_cb(GMimeObject *p
                msg_disposition = g_mime_object_get_content_disposition(part);
                if (msg_disposition) {
                        msg_disposition_str = (char *)g_mime_content_disposition_get_disposition(msg_disposition);
+                       EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
                }
-               EM_DEBUG_LOG("RFC822/Message Disposition[%s]", msg_disposition_str);
+
                /*Content Disposition - END*/
 
                if (!msg_disposition_str || g_ascii_strcasecmp(msg_disposition_str, GMIME_DISPOSITION_ATTACHMENT) != 0) {
@@ -2936,9 +2950,10 @@ INTERNAL_FUNC void emcore_gmime_get_attachment_section_foreach_cb(GMimeObject *p
                        disposition_str = (char *)g_mime_content_disposition_get_disposition(disposition);
                        disposition_filename = (char *)g_mime_content_disposition_get_parameter(disposition, "filename");
                        if (EM_SAFE_STRLEN(disposition_filename) == 0) disposition_filename = NULL;
+                       EM_DEBUG_LOG("Disposition[%s]", disposition_str);
+                       EM_DEBUG_LOG("Disposition-Filename[%s]", disposition_filename);
                }
-               EM_DEBUG_LOG("Disposition[%s]", disposition_str);
-               EM_DEBUG_LOG("Disposition-Filename[%s]", disposition_filename);
+
                /*Content Disposition - END*/
 
                /*Content ID*/
@@ -3701,8 +3716,8 @@ INTERNAL_FUNC int emcore_gmime_get_attachment_section_from_message(GMimeMessage
                        disposition = g_mime_object_get_content_disposition(mobject);
                        if (disposition) {
                                disposition_str = (char *)g_mime_content_disposition_get_disposition(disposition);
+                               EM_DEBUG_LOG("Disposition[%s]", disposition_str);
                        }
-                       EM_DEBUG_LOG("Disposition[%s]", disposition_str);
                        /*Content Disposition - END*/
 
                        part_path = g_mime_part_iter_get_path(iter1);
@@ -5069,13 +5084,16 @@ INTERNAL_FUNC char *emcore_gmime_get_decoding_text(const char *text)
 
        char *decoded_text = NULL;
 
+       if(text)
        decoded_text = g_mime_utils_header_decode_text(text);
        if (decoded_text == NULL) {
-               EM_DEBUG_EXCEPTION("g_mime_utils_header_encode_text failed : [%s]", text);
+               if (text != NULL)
+                       EM_DEBUG_EXCEPTION("g_mime_utils_header_encode_text failed : [%s]", text);
                return NULL;
        }
 
-       EM_DEBUG_LOG_SEC("decoded_text : [%s]", decoded_text);
+       if (decoded_text != NULL)
+               EM_DEBUG_LOG_SEC("decoded_text : [%s]", decoded_text);
 
        return decoded_text;
 }
index c5c659bce7757361bdf0333b835c4afffee3cdf2..a1f6e4c839eb38f016cc68877c3203b792128ab3 100755 (executable)
@@ -6297,6 +6297,7 @@ INTERNAL_FUNC int emcore_sync_flag_with_server(char *multi_user_name, int mail_i
        char set_flags[100] = { 0, };
        char clear_flags[100] = { 0, };
        char tmp[100] = { 0, };
+       int wrn = 0;
 
        FINISH_OFF_IF_EVENT_CANCELED(err, event_handle);
 
@@ -6346,19 +6347,31 @@ INTERNAL_FUNC int emcore_sync_flag_with_server(char *multi_user_name, int mail_i
                snprintf(clear_flags, sizeof(clear_flags),"\\Seen");
 
        if (mail->flags_answered_field)
-               snprintf(set_flags, sizeof(set_flags),"%s \\Answered", set_flags);
+               wrn = snprintf(set_flags, sizeof(set_flags),"%s \\Answered", set_flags);
        else
-               snprintf(clear_flags, sizeof(clear_flags),"%s \\Answered", clear_flags);
+               wrn = snprintf(clear_flags, sizeof(clear_flags),"%s \\Answered", clear_flags);
+
+       if(wrn < 0){
+               EM_DEBUG_LOG("error in snprintf");
+       }
 
        if (mail->flags_flagged_field)
-               snprintf(set_flags, sizeof(set_flags), "%s \\Flagged", set_flags);
+               wrn = snprintf(set_flags, sizeof(set_flags), "%s \\Flagged", set_flags);
        else
-               snprintf(clear_flags, sizeof(clear_flags),"%s \\Flagged", clear_flags);
+               wrn = snprintf(clear_flags, sizeof(clear_flags),"%s \\Flagged", clear_flags);
+
+       if(wrn < 0){
+               EM_DEBUG_LOG("error in snprintf");
+       }
 
        if (mail->flags_forwarded_field)
-               snprintf(set_flags, sizeof(set_flags),"%s $Forwarded", set_flags);
+               wrn = snprintf(set_flags, sizeof(set_flags),"%s $Forwarded", set_flags);
        else
-               snprintf(clear_flags, sizeof(clear_flags),"%s $Forwarded", clear_flags);
+               wrn = snprintf(clear_flags, sizeof(clear_flags),"%s $Forwarded", clear_flags);
+
+       if(wrn < 0){
+               EM_DEBUG_LOG("error in snprintf");
+       }
 
        if (EM_SAFE_STRLEN(set_flags) > 0) {
                EM_DEBUG_LOG(">>>> Calling mail_setflag [%s] ", set_flags);
index 95b8a410b6b4edd8e04de11a103a578ef1a553b0..6f8edee9e7da7644add42e4dadc506c171e63e4e 100755 (executable)
@@ -561,6 +561,7 @@ int emcore_get_uids_order_by_datetime_from_imap_server(MAILSTREAM *stream, int c
        char *uid_range_string = NULL;
        char *ptr = NULL;
        emcore_uid_list *uid_list_for_listing = NULL;
+       int ret = 0;
 
        if (!stream || !output_uid_list) {
                EM_DEBUG_EXCEPTION(" stream[%p], output_uid_list[%p]", stream, output_uid_list);
@@ -591,11 +592,15 @@ int emcore_get_uids_order_by_datetime_from_imap_server(MAILSTREAM *stream, int c
 
                SNPRINTF(tag, sizeof(tag), "%08lx", 0xffffffff & (stream->gensym++));
                if (EM_SAFE_STRLEN(before_date_string) > 0)
-                       SNPRINTF(command, sizeof(command), "%s UID SEARCH 1:* SINCE %s BEFORE %s\015\012", tag, since_date_string, before_date_string);
+                       ret = SNPRINTF(command, sizeof(command), "%s UID SEARCH 1:* SINCE %s BEFORE %s\015\012", tag, since_date_string, before_date_string);
                else
                        SNPRINTF(command, sizeof(command), "%s UID SEARCH 1:* SINCE %s\015\012", tag, since_date_string);
                EM_DEBUG_LOG("COMMAND [%s] ", command);
 
+               if(ret < 0){
+                       EM_DEBUG_LOG("Warning: error in command (%s) ", command);
+               }
+
                g_strlcpy(before_date_string, since_date_string, 20);
                EM_SAFE_FREE(since_date_string);
 #ifdef FEATURE_CORE_DEBUG
@@ -1958,10 +1963,10 @@ INTERNAL_FUNC int emcore_make_mail_tbl_data_from_envelope(char *multi_user_name,
                        charset_end = strstr(charset_start, "?");
                        if (charset_end) {
                                charset = g_strndup(charset_start, charset_end - charset_start);
+                               EM_DEBUG_LOG("DEFAULT CHARSET : %s", charset);
                        }
                }
 
-               EM_DEBUG_LOG("DEFAULT CHARSET : %s", charset);
                if (charset) {
                        temp_mail_tbl_data->default_charset = g_ascii_strup(charset, -1);
                        EM_SAFE_FREE(charset);
@@ -3853,7 +3858,7 @@ static int emcore_gmime_download_imap_partial_mail_body(MAILSTREAM *stream, int
        EM_DEBUG_FUNC_BEGIN("stream [%p], input_download_size[%d], pbd_event [%p], item_count [%d], error [%p]", stream, input_download_size, pbd_event, item_count, error);
 
        int ret = false, err = EMAIL_ERROR_NONE;
-       int j = 0, i = 0;
+       int j = 0, i = 0, wrn = 0;
        int i32_index = 0;
        int total_mail_size = 0, total_attachment_size = 0;
        int temp_count = 0, attachment_num = 0, inline_attachment_num = 0;
@@ -3922,9 +3927,13 @@ static int emcore_gmime_download_imap_partial_mail_body(MAILSTREAM *stream, int
        }
 
        SNPRINTF(imap_tag, TAG_LENGTH, "%08lx", 0xffffffff & (stream->gensym++));
-       SNPRINTF(command, COMMAND_LENGTH, "%s UID FETCH %s (UID RFC822.HEADER BODYSTRUCTURE BODY.PEEK[TEXT]<0.%d>)\015\012",
+       wrn = SNPRINTF(command, COMMAND_LENGTH, "%s UID FETCH %s (UID RFC822.HEADER BODYSTRUCTURE BODY.PEEK[TEXT]<0.%d>)\015\012",
                        imap_tag, uid_range_string_to_be_downloaded, input_download_size);
 
+       if(wrn < 0){
+               EM_DEBUG_LOG("Warning: error in command (%s)",command);
+       }
+
        EM_DEBUG_LOG("command : %s", command);
 
        /*  Sending out the IMAP request */
@@ -4880,7 +4889,8 @@ FINISH_OFF:
        EM_SAFE_FREE(full_line);
 
        if (!ret || count != item_count) {
-               EM_DEBUG_EXCEPTION("emcore_get_response_from_server may be failed ret[%d] count[%d]", ret, count);
+               if(ret && count)
+                       EM_DEBUG_EXCEPTION("emcore_get_response_from_server may be failed ret[%d] count[%d]", ret, count);
                emcore_free_email_partial_buffer(&server_response, item_count);
        }
 
index 97d86beef7ad648c4cc771b7030ba0e69a70cf4c..2ae5030c6abb57745a952105abba4250fd39edb8 100755 (executable)
@@ -150,8 +150,8 @@ static char *emcore_replace_inline_image_path_with_content_id(char *source_strin
        int  err = EMAIL_ERROR_NONE;
        char content_id_buffer[CONTENT_ID_BUFFER_SIZE] = {0,};
        char file_name_buffer[512] = {0,};
-       char old_string[512] = {0,};
-       char new_string[512] = {0,};
+       char old_string[518] = {0,};
+       char new_string[518] = {0,};
        char *result_string = NULL;
        char *input_string = NULL;
        BODY *cur_body = NULL;
@@ -193,8 +193,8 @@ static char *emcore_replace_inline_image_path_with_content_id(char *source_strin
                                                /* if (emcore_get_attribute_value_of_body_part(cur_body->parameter, "name", file_name_buffer, CONTENT_ID_BUFFER_SIZE, false, &err)) { */
                                                if (emcore_get_attribute_value_of_body_part(cur_body->parameter, "name", file_name_buffer, CONTENT_ID_BUFFER_SIZE, true, &err)) {
                                                        EM_DEBUG_LOG_SEC("Content-ID[%s], filename[%s]", content_id_buffer, file_name_buffer);
-                                                       SNPRINTF(new_string, CONTENT_ID_BUFFER_SIZE, "\"cid:%s\"", content_id_buffer);
-                                                       SNPRINTF(old_string, CONTENT_ID_BUFFER_SIZE, "\"%s\"", file_name_buffer);
+                                                       SNPRINTF(new_string, CONTENT_ID_BUFFER_SIZE + 6, "\"cid:%s\"", content_id_buffer);
+                                                       SNPRINTF(old_string, CONTENT_ID_BUFFER_SIZE + 6, "\"%s\"", file_name_buffer);
                                                        result_string = em_replace_string(input_string, old_string, new_string);
                                                }
                                        }
@@ -2989,10 +2989,9 @@ static int attach_part(BODY *body, const unsigned char *data, int data_len,
                        EM_DEBUG_LOG("has_special_character [%d]", has_special_character);
                        if (has_special_character)
                                encoded_file_name = (char*)g_convert(filename, -1, "UTF-8", "EUC-KR", &bytes_read, &bytes_written, &glib_error);
+                       EM_DEBUG_LOG_SEC("encoded_file_name [%s]", encoded_file_name);
                }
 
-               EM_DEBUG_LOG_SEC("encoded_file_name [%s]", encoded_file_name);
-
                if (encoded_file_name == NULL)
                        encoded_file_name = strdup(filename);
 
@@ -4417,8 +4416,10 @@ INTERNAL_FUNC int emcore_get_body_buff(char *file_path, char **buff)
        }
 
        if (ferror(r_fp)) {
-               EM_DEBUG_EXCEPTION_SEC("file read failed - %s", file_path);
-               EM_SAFE_FREE(read_buff);
+               if(file_path != NULL)
+                       EM_DEBUG_EXCEPTION_SEC("file read failed - %s", file_path);
+               if (read_buff != NULL)
+                       EM_SAFE_FREE(read_buff);
                goto FINISH_OFF;
        }
 
index ed7b3fc150408512a4bb96385f57a88a9b2fd7c2..551bf0f6b002926cefca0b5b7dfd3741779395d9 100755 (executable)
@@ -174,10 +174,10 @@ INTERNAL_FUNC char *emcore_convert_mutf7_to_utf8(char *mailbox_name)
 
        cd = g_mime_iconv_open("UTF-8", "UTF-7");
 
-       if (cd)
+       if (cd){
                result_mailbox_name = g_mime_iconv_strdup(cd, mutf7_text);
-
-       EM_DEBUG_LOG_SEC("result_mailbox_name[%s]", result_mailbox_name);
+               EM_DEBUG_LOG_SEC("result_mailbox_name[%s]", result_mailbox_name);
+       }
 
        if (result_mailbox_name) {
                cursor = result_mailbox_name;
@@ -5349,7 +5349,8 @@ INTERNAL_FUNC char *emcore_set_mime_entity(char *mime_path)
 
                err = em_fopen(mime_entity_path, "w", &fp_write);
                if (err != EMAIL_ERROR_NONE) {
-                       EM_DEBUG_EXCEPTION_SEC("File em_fopen(write) is failed : filename [%s]", mime_entity_path);
+                       if(mime_entity_path != NULL)
+                               EM_DEBUG_EXCEPTION_SEC("File em_fopen(write) is failed : filename [%s]", mime_entity_path);
                        goto FINISH_OFF;
                }
 
index dcc3e8308433fcd4f42a2427d835a23fd2f742bc..0b16e2b8f687c5e6c2045b2e9ab8166dbddc3232 100755 (executable)
@@ -2711,7 +2711,12 @@ INTERNAL_FUNC int emstorage_create_table(char *multi_user_name, emstorage_create
        } /*  mail_auto_download_activity_tbl */
        else if (type == EMAIL_CREATE_DB_CHECK) {
                EMSTORAGE_PROTECTED_FUNC_CALL(sqlite3_exec(local_db_handle, g_test_query[CREATE_TABLE_MAIL_AUTO_DOWNLOAD_ACTIVITY_TBL], NULL, NULL, NULL), rc);
-               EM_DEBUG_DB_EXEC(SQLITE_OK != rc, {error = EMAIL_ERROR_DB_FAILURE; goto FINISH_OFF; }, ("SQL(%s) exec fail:%d -%s", g_test_query[CREATE_TABLE_MAIL_AUTO_DOWNLOAD_ACTIVITY_TBL], rc, sqlite3_errmsg(local_db_handle)));
+
+               if(g_test_query[CREATE_TABLE_MAIL_AUTO_DOWNLOAD_ACTIVITY_TBL] != NULL) {
+                       EM_DEBUG_DB_EXEC(SQLITE_OK != rc, {error = EMAIL_ERROR_DB_FAILURE; goto FINISH_OFF; }, \
+                               ("SQL(%s) exec fail:%d -%s", g_test_query[CREATE_TABLE_MAIL_AUTO_DOWNLOAD_ACTIVITY_TBL], \
+                                        rc, sqlite3_errmsg(local_db_handle)));
+               }
        }
 
        sqlite3_free_table(result);
@@ -6706,8 +6711,6 @@ INTERNAL_FUNC int emstorage_check_read_mail_uid(char *multi_user_name, int accou
        char sql_query_string[QUERY_SIZE] = {0, };
        char *replaced_mailbox_name = NULL;
 
-       EM_DEBUG_LOG_SEC("replaced_mailbox_name : [%s]", replaced_mailbox_name);
-
        sqlite3 *local_db_handle = emstorage_get_db_connection(multi_user_name);
        EMSTORAGE_START_READ_TRANSACTION(transaction);
 
@@ -12594,6 +12597,7 @@ int emstorage_get_unread_mailid(char *multi_user_name, int account_id, int vip_m
        char sql_query_string[QUERY_SIZE] = {0, };
        char temp_query_string[QUERY_SIZE] = {0,};
        char sql_select_query_string[QUERY_SIZE] = {0, };
+       int wrn = 0;
 
        sqlite3 *local_db_handle = emstorage_get_db_connection(multi_user_name);
        EMSTORAGE_START_READ_TRANSACTION(transaction);
@@ -12611,13 +12615,21 @@ int emstorage_get_unread_mailid(char *multi_user_name, int account_id, int vip_m
        }
 
        if (vip_mode) {
-               SNPRINTF(temp_query_string, sizeof(temp_query_string),
+               wrn = SNPRINTF(temp_query_string, sizeof(temp_query_string),
                        "%s AND tag_id < 0", sql_select_query_string);
        } else {
                SNPRINTF(temp_query_string, sizeof(temp_query_string), "%s", sql_select_query_string);
        }
 
-       SNPRINTF(sql_query_string, sizeof(sql_query_string), "%s ORDER BY date_time ASC", temp_query_string);
+       if(wrn < 0){
+               EM_DEBUG_LOG("WARNING: temp query string is truncated (%s)", temp_query_string);
+       }
+
+       wrn = SNPRINTF(sql_query_string, sizeof(sql_query_string), "%s ORDER BY date_time ASC", temp_query_string);
+
+       if(wrn < 0){
+               EM_DEBUG_LOG("WARNING: sql query string is truncated (%s)", sql_query_string);
+       }
 
        EM_DEBUG_LOG_SEC("query: [%s]", sql_query_string);
 
@@ -13026,7 +13038,7 @@ INTERNAL_FUNC int emstorage_get_thread_id_of_thread_mails(char *multi_user_name,
                        EM_SAFE_STRLEN(stripped_subject), stripped_subject);
 
        if (account_id > 0) {
-               query_size_account = 3 + EM_SAFE_STRLEN(sql_format_account);
+               query_size_account = 10 + EM_SAFE_STRLEN(sql_format_account);
                sql_account = malloc(query_size_account);
                if (sql_account == NULL) {
                        EM_DEBUG_EXCEPTION("malloc for sql_account  is failed %d", query_size_account);
@@ -13171,7 +13183,7 @@ INTERNAL_FUNC int emstorage_get_thread_id_from_mailbox(char *multi_user_name, in
        EM_DEBUG_LOG("em_find_pos_stripped_subject_for_thread_view returns[len = %zu] = %s", EM_SAFE_STRLEN(stripped_subject), stripped_subject);
 
        if (account_id > 0) {
-               query_size_account = 3 + EM_SAFE_STRLEN(sql_format_account);
+               query_size_account = 10 + EM_SAFE_STRLEN(sql_format_account);
                sql_account = malloc(query_size_account);
                if (sql_account == NULL) {
                        EM_DEBUG_EXCEPTION("malloc for sql_account  is failed %d", query_size_account);
@@ -16199,6 +16211,7 @@ static int _make_filter_attach_rule_string(char *multi_user_name, email_list_fil
        char *sql_query_string2 = NULL;
        sqlite3 *local_db_handle = NULL;
        int *mail_ids = NULL;
+       int ret = 0;
 
        if (input_list_filter_rule == NULL || output_string == NULL) {
                EM_DEBUG_EXCEPTION("EMAIL_ERROR_INVALID_PARAM");
@@ -16211,11 +16224,11 @@ static int _make_filter_attach_rule_string(char *multi_user_name, email_list_fil
        switch (input_list_filter_rule->rule_type) {
 
        case EMAIL_LIST_FILTER_RULE_INCLUDE:
-               SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s LIKE \'%%%s%%\' ", field_name_string, key_value_string);
+               ret = SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s LIKE \'%%%s%%\' ", field_name_string, key_value_string);
                break;
 
        case EMAIL_LIST_FILTER_RULE_MATCH:
-               SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s MATCH \'%s\' ", field_name_string, key_value_string);
+               ret = SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s MATCH \'%s\' ", field_name_string, key_value_string);
                break;
 
        default:
@@ -16224,10 +16237,18 @@ static int _make_filter_attach_rule_string(char *multi_user_name, email_list_fil
                goto FINISH_OFF;
        }
 
+       if(ret < 0){
+               EM_DEBUG_LOG("WARNING: result rule string is truncated (%s)", result_rule_string);
+       }
+
        local_db_handle = emstorage_get_db_connection(multi_user_name);
 
        EMSTORAGE_START_READ_TRANSACTION(true);
-       SNPRINTF(sql_query_string, QUERY_SIZE, "SELECT mail_id FROM mail_attachment_tbl %s", result_rule_string);
+       ret = SNPRINTF(sql_query_string, QUERY_SIZE, "SELECT mail_id FROM mail_attachment_tbl %s", result_rule_string);
+
+       if(ret < 0){
+               EM_DEBUG_LOG("WARNING: sql query string is truncated (%s)", sql_query_string);
+       }
 
        EMSTORAGE_PROTECTED_FUNC_CALL(sqlite3_get_table(local_db_handle, sql_query_string, &result, &count, 0, NULL), rc);
        EM_DEBUG_DB_EXEC((SQLITE_OK != rc && -1 != rc), {error = EMAIL_ERROR_DB_FAILURE; sqlite3_free_table(result); goto FINISH_OFF; },
@@ -16303,6 +16324,7 @@ static int _make_filter_fts_rule_string(char *multi_user_name, email_list_filter
        char *sql_query_string2 = NULL;
        sqlite3 *local_db_handle = NULL;
        int *mail_ids = NULL;
+       int ret = 0;
 
        if (input_list_filter_rule == NULL || output_string == NULL) {
                EM_DEBUG_EXCEPTION("EMAIL_ERROR_INVALID_PARAM");
@@ -16315,11 +16337,11 @@ static int _make_filter_fts_rule_string(char *multi_user_name, email_list_filter
        switch (input_list_filter_rule->rule_type) {
 
        case EMAIL_LIST_FILTER_RULE_INCLUDE:
-               SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s LIKE \'%%%s%%\' ", field_name_string, key_value_string);
+               ret = SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s LIKE \'%%%s%%\' ", field_name_string, key_value_string);
                break;
 
        case EMAIL_LIST_FILTER_RULE_MATCH:
-               SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s MATCH \'%s\' ", field_name_string, key_value_string);
+               ret = SNPRINTF(result_rule_string, QUERY_SIZE, "WHERE %s MATCH \'%s\' ", field_name_string, key_value_string);
                break;
 
        default:
@@ -16328,10 +16350,18 @@ static int _make_filter_fts_rule_string(char *multi_user_name, email_list_filter
                goto FINISH_OFF;
        }
 
+       if(ret < 0){
+               EM_DEBUG_LOG("WARNING: result rule string is truncated (%s)", result_rule_string);
+       }
+
        local_db_handle = emstorage_get_db_connection(multi_user_name);
 
        EMSTORAGE_START_READ_TRANSACTION(true);
-       SNPRINTF(sql_query_string, QUERY_SIZE, "SELECT mail_id FROM mail_text_tbl %s", result_rule_string);
+       ret = SNPRINTF(sql_query_string, QUERY_SIZE, "SELECT mail_id FROM mail_text_tbl %s", result_rule_string);
+
+       if(ret < 0){
+               EM_DEBUG_LOG("WARNING: sql query string is truncated (%s)", sql_query_string);
+       }
 
        EMSTORAGE_PROTECTED_FUNC_CALL(sqlite3_get_table(local_db_handle, sql_query_string, &result, &count, 0, NULL), rc);
        EM_DEBUG_DB_EXEC((SQLITE_OK != rc && -1 != rc), {error = EMAIL_ERROR_DB_FAILURE; sqlite3_free_table(result); goto FINISH_OFF; },
index 8754e037fd81291356b1ef0c2aba60cc877093ae..47ccc713e235d473085d31568d78689fceda5715 100755 (executable)
@@ -524,8 +524,8 @@ INTERNAL_FUNC int emdaemon_sync_header(char *multi_user_name, int input_account_
        }
 
        /* Due to fast response, event noti is moved here from worker_event_queue */
-       char input_mailbox_id_str[10] = {0};
-       snprintf(input_mailbox_id_str, 10, "%d ", input_mailbox_id);
+       char input_mailbox_id_str[12] = {0};
+       snprintf(input_mailbox_id_str, 12, "%d ", input_mailbox_id);
        if (!emcore_notify_network_event(NOTI_DOWNLOAD_START, input_account_id, ((input_mailbox_id == 0) ? NULL : input_mailbox_id_str), *handle, 0))
                EM_DEBUG_EXCEPTION("emcore_notify_network_event [ NOTI_DOWNLOAD_START] Failed >>>> ");
 
index a6d1b9214359eca0e74a82b321f0b8ec24d90245..25e6adc31690665603d86a133bced7d5a7845f93 100755 (executable)
@@ -109,7 +109,7 @@ export FFLAGS+=" -fprofile-arcs -ftest-coverage"
 export LDFLAGS+=" -lgcov"
 %endif
 export CFLAGS="${CFLAGS} -fPIC -Wall -g -fvisibility=hidden -fdata-sections -ffunction-sections"
-export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden"
+export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden -Wno-psabi"
 export LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--rpath=%{_libdir} -Wl,--as-needed"
 
 %cmake . -DTZ_SYS_DATA=%TZ_SYS_DATA -DTZ_SYS_ETC=%TZ_SYS_ETC -DBIN_INSTALL_DIR:PATH=%{_bindir}
index eb8325f06ac98038210031f95ca52ce60dbcfbb2..88f86e0fa75cc10ab4f4a4ec1234ded2405b2417 100644 (file)
@@ -12,7 +12,7 @@ MESSAGE(">>> current directory: ${CMAKE_CURRENT_SOURCE_DIR}")
 MESSAGE(">>> Build type: ${CMAKE_BUILD_TYPE}")
 
 SET(VISIBILITY "-DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\"")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden -Wformat-truncation ")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections -fPIE")
 
 ##########################################################
index 384361f25f396bd2a65c0ed6946f3ef5b20fe3a2..9f0d61dd03c3b61c4bdf9198728d1eb591d1d886 100644 (file)
@@ -66,6 +66,7 @@ gboolean  testapp_create_account_object(email_account_t **result_account)
        char accesss_token[1000] = { 0, }, refresh_token[1000] = { 0, };
        int samsung3g_account_index;
        int account_type;
+       int ret = 0;
 
        testapp_print("1. Gawab\n");
        testapp_print("2. Vodafone\n");
@@ -114,7 +115,8 @@ gboolean  testapp_create_account_object(email_account_t **result_account)
                if (0 >= scanf("%s", refresh_token))
                        testapp_print("Invalid input. ");
 
-               snprintf(password_string, 100, "%s\001%s\001", accesss_token, refresh_token);
+               ret = snprintf(password_string, 100, "%s\001%s\001", accesss_token, refresh_token);
+               if(ret < 0){testapp_print("Error in snprintf");}
                break;
        default:
                testapp_print("Enter email address : ");