From d7e21726c2e9f1a138682dda2815c80bf9e276b3 Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Wed, 13 Jul 2016 10:34:05 +0200
Subject: [PATCH] [Messaging] Fixed SVACE issues
[Bug] Fixed issues 107586, 107587
[Verification] Code compiles without errors.
Change-Id: I9ef9bea7b189174726dfc9d993df5234c88122a8
Signed-off-by: Piotr Kosko
---
src/messaging/email_manager.cc | 2 +-
src/messaging/message.cc | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/messaging/email_manager.cc b/src/messaging/email_manager.cc
index cd275dbe..6fa77de9 100755
--- a/src/messaging/email_manager.cc
+++ b/src/messaging/email_manager.cc
@@ -1433,7 +1433,7 @@ std::string EmailManager::getMessageStatus(int id) {
MessageStatus status = MessageStatus::STATUS_UNDEFINED;
int ret = email_get_mail_data(id, &mail);
- if (EMAIL_ERROR_NONE != ret ) {
+ if (EMAIL_ERROR_NONE != ret || !mail) {
LoggerD("Failed to get data %d (%s)", ret, get_error_message(ret));
return "";
}
diff --git a/src/messaging/message.cc b/src/messaging/message.cc
index 196bf078..3f77486d 100755
--- a/src/messaging/message.cc
+++ b/src/messaging/message.cc
@@ -496,7 +496,10 @@ PlatformResult Message::convertPlatformEmail(std::shared_ptr message,
}
if(message->is_id_set()) {
- email_get_mail_data(message->getId(), &mail_data);
+ int ret = email_get_mail_data(message->getId(), &mail_data);
+ if (EMAIL_ERROR_NONE != ret || !mail_data) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to get mail data.");
+ }
} else {
mail_data = (email_mail_data_t*)malloc(sizeof(email_mail_data_t));
if (!mail_data) {
@@ -505,7 +508,7 @@ PlatformResult Message::convertPlatformEmail(std::shared_ptr message,
memset(mail_data, 0x00, sizeof(email_mail_data_t));
}
- std::unique_ptr mail_data_ptr(
+ std::unique_ptr mail_data_ptr(
mail_data, [](email_mail_data_t* mail) {email_free_mail_data(&mail, 1);});
if(!message->getFrom().empty()) {
--
2.34.1