X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=email-core%2Femail-core-imap-mailbox.c;h=4a96d7725d1d31efa5bacc2b655bd8bdd3d18bdf;hb=999c4fe067fcda1327c65f0b324ea21f21a808dd;hp=658580790f8b76db8dad7c394899488be2355d69;hpb=51f6049e0a4c0d23d06d33863e9d869b3ea8c2dd;p=platform%2Fcore%2Fmessaging%2Femail-service.git diff --git a/email-core/email-core-imap-mailbox.c b/email-core/email-core-imap-mailbox.c index 6585807..4a96d77 100755 --- a/email-core/email-core-imap-mailbox.c +++ b/email-core/email-core-imap-mailbox.c @@ -734,7 +734,29 @@ int emcore_download_mailbox_list(void *mail_stream, *count = holder.num; *mailbox_list = (email_internal_mailbox_t*) holder.data; - ret = true; + + EM_DEBUG_LOG("count: [%d], mailbox_list[%p]", *count, *mailbox_list); + if (*count <= 0 || *mailbox_list == NULL) { + err = EMAIL_ERROR_MAILBOX_NOT_FOUND; + ret = false; + } else { + ret = true; + + /* checking once more if there is a INBOX or not */ + int i = 0; + bool is_found_inbox = false; + for (i = 0; i < *count; i++) { + if ((*mailbox_list)[i].mailbox_type == EMAIL_MAILBOX_TYPE_INBOX || !g_ascii_strcasecmp((*mailbox_list)[i].mailbox_name, "INBOX")) { + is_found_inbox = true; + break; + } + } + if (!is_found_inbox) { + EM_DEBUG_CRITICAL_EXCEPTION("There is no INBOX!"); + err = EMAIL_ERROR_MAILBOX_NOT_FOUND; + ret = false; + } + } FINISH_OFF: if (err_code) @@ -1015,7 +1037,7 @@ FINISH_OFF: quota_t callback_for_get_quota_root(MAILSTREAM *stream, unsigned char *mailbox, STRINGLIST *quota_root_list) { EM_DEBUG_FUNC_BEGIN(); - quota_t ret_quota; + quota_t ret_quota = NIL; EM_DEBUG_FUNC_END(); return ret_quota; } @@ -1023,7 +1045,7 @@ quota_t callback_for_get_quota_root(MAILSTREAM *stream, unsigned char *mailbox, quota_t callback_for_get_quota(MAILSTREAM *stream, unsigned char *quota_root, QUOTALIST *quota_list) { EM_DEBUG_FUNC_BEGIN(); - quota_t ret_quota; + quota_t ret_quota = NIL; EM_DEBUG_FUNC_END(); return ret_quota; }