[Messaging] Fixed SVACE issues 63/79863/1
authorPiotr Kosko <p.kosko@samsung.com>
Wed, 13 Jul 2016 08:34:05 +0000 (10:34 +0200)
committerPiotr Kosko <p.kosko@samsung.com>
Wed, 13 Jul 2016 08:34:07 +0000 (10:34 +0200)
[Bug] Fixed issues 107586, 107587

[Verification] Code compiles without errors.

Change-Id: I9ef9bea7b189174726dfc9d993df5234c88122a8
Signed-off-by: Piotr Kosko <p.kosko@samsung.com>
src/messaging/email_manager.cc
src/messaging/message.cc

index cd275dbe8bde90abf90cba14531aa305164b37be..6fa77de9b5d0751ba9a93722d20331b7815e66cf 100755 (executable)
@@ -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 "";
   }
index 196bf07826780d1bb01766fa9dcaddbe30951c39..3f77486d1cd3614b381722b7bb45fba64381a5a8 100755 (executable)
@@ -496,7 +496,10 @@ PlatformResult Message::convertPlatformEmail(std::shared_ptr<Message> 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> message,
         memset(mail_data, 0x00, sizeof(email_mail_data_t));
     }
 
-  std::unique_ptr<email_mail_data_t, void (*)(email_mail_data_t*)> mail_data_ptr(
+    std::unique_ptr<email_mail_data_t, void (*)(email_mail_data_t*)> mail_data_ptr(
       mail_data, [](email_mail_data_t* mail) {email_free_mail_data(&mail, 1);});
 
     if(!message->getFrom().empty()) {