[Project][Coverity] Some static analysis problems were corrected. 26/207226/9
authorArkadiusz Pietraszek <a.pietraszek@partner.samsung.com>
Thu, 30 May 2019 13:31:03 +0000 (15:31 +0200)
committerArkadiusz Pietraszek <a.pietraszek@partner.samsung.com>
Mon, 22 Jul 2019 09:19:34 +0000 (09:19 +0000)
Those Coverity issues were fixed:
CHECKED_RETURN 835501 - Messageport
CHECKED_RETURN 835504 - Download
CHECKED_RETURN 835505 - Messaging Email
CHECKED_RETURN 835506 - Download
CHECKED_RETURN 1064913 - Common
CHECKED_RETURN 1064914 - Common
CHECKED_RETURN 1064915 - Alarm
CHECKED_RETURN 1074834 - Application
CHECKED_RETURN 1074835 - Application

In Alarm module there is fix of Exception message.
There is also correction of logs in Archive module to bring consistency.
Some files was changed only by cude_format script.

[Verification] Coverity was run, and fixed issues are not on a list anymore.
http://10.113.170.22:8810/download/16062/artifacts/analysis_report_I6ddb03_coverity-2017.07.html
TCT pass rate of changed modules is 100%.

Change-Id: I6ddb030c071166d688a902849c9f979cfbae62d6
Signed-off-by: Arkadiusz Pietraszek <a.pietraszek@partner.samsung.com>
17 files changed:
src/alarm/alarm_manager.cc
src/application/application_manager.cc
src/application/application_utils.cc
src/application/application_utils.h
src/application/requested_application_control.cc
src/archive/archive_callback_data.cc
src/archive/archive_file.cc
src/common/json-utils.cc
src/common/platform_enum.h
src/common/task-queue.cpp
src/common/task-queue.h
src/common/tools.cc
src/download/download_instance.cc
src/messageport/messageport_instance.cc
src/messaging/email_manager.cc
src/messaging/message_conversation.cc
src/messaging/message_folder.cc

index bcc74e0..db2e035 100644 (file)
@@ -107,8 +107,21 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) {
       return;
     }
   } else {
-    app_control_create(&app_control);
-    app_control_set_operation(app_control, APP_CONTROL_OPERATION_DEFAULT);
+    int ret = app_control_create(&app_control);
+
+    if (APP_CONTROL_ERROR_NONE != ret) {
+      LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "app_control_create() failed."),
+                        &out,
+                        ("app_control_create() failed: %d (%s)", ret, get_error_message(ret)));
+      return;
+    }
+    ret = app_control_set_operation(app_control, APP_CONTROL_OPERATION_DEFAULT);
+    if (APP_CONTROL_ERROR_NONE != ret) {
+      LogAndReportError(
+          PlatformResult(ErrorCode::UNKNOWN_ERR, "app_control_set_operation() failed."), &out,
+          ("app_control_set_operation() failed: %d (%s)", ret, get_error_message(ret)));
+      return;
+    }
   }
 
   app_control_set_app_id(app_control, app_id.c_str());
@@ -538,8 +551,13 @@ PlatformResult AlarmManager::GetAlarm(int id, picojson::object& obj) {
     notification_free(notification_handle);
   };
 
-  if (ALARM_ERROR_NONE != alarm_get_app_control(id, &app_control)) {
-    if (ALARM_ERROR_NONE != alarm_get_notification(id, &notification_handle)) {
+  ret = alarm_get_app_control(id, &app_control);
+  if (ALARM_ERROR_NONE != ret) {
+    return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Unknown error occurred.",
+                              ("Getting data failed: %d (%s)", ret, get_error_message(ret)));
+  } else {
+    ret = alarm_get_notification(id, &notification_handle);
+    if (ALARM_ERROR_NONE != ret) {
       return LogAndCreateResult(ErrorCode::NOT_FOUND_ERR, "Alarm not found.",
                                 ("Alarm not found: %d (%s)", ret, get_error_message(ret)));
     } else {
index d418bce..d807ef0 100644 (file)
@@ -530,8 +530,8 @@ void ApplicationManager::LaunchAppControl(const picojson::value& args) {
    * New implementation, using app_control_send_launch_request_async makes only one attempt.
    * If problems, such as failed application start occur, multiple attempts may solve the problem.
    */
-  auto launch_result =
-      utils::TranslateAppControlError(static_cast<app_control_error_e>(app_control_send_launch_request_async(
+  auto launch_result = utils::TranslateAppControlError(
+      static_cast<app_control_error_e>(app_control_send_launch_request_async(
           app_control_ptr.get(), result_callback, reply_callback, launch_app_user_data)));
 
   if (launch_result.IsError()) {
@@ -646,8 +646,9 @@ void ApplicationManager::Launch(const picojson::value& args) {
    * New implementation, using app_control_send_launch_request_async makes only one attempt.
    * If problems, such as failed application start occur, multiple attempts may solve the problem.
    */
-  auto launch_result = TranslateLaunchError(static_cast<app_control_error_e>(app_control_send_launch_request_async(
-      app_control_ptr.get(), result_callback, nullptr, launch_user_data)));
+  auto launch_result =
+      TranslateLaunchError(static_cast<app_control_error_e>(app_control_send_launch_request_async(
+          app_control_ptr.get(), result_callback, nullptr, launch_user_data)));
 
   if (launch_result.IsError()) {
     delete launch_user_data;
@@ -779,8 +780,7 @@ void ApplicationManager::FindAppControl(const picojson::value& args) {
         picojson::array* array = static_cast<picojson::array*>(user_data);
         array->push_back(picojson::value(picojson::object()));
 
-        utils::CreateApplicationInformation(handle,
-                                                       &array->back().get<picojson::object>());
+        utils::CreateApplicationInformation(handle, &array->back().get<picojson::object>());
         pkgmgrinfo_appinfo_destroy_appinfo(handle);
       }
 
@@ -856,8 +856,7 @@ void ApplicationManager::GetAppsContext(const picojson::value& args) {
       picojson::array* array = static_cast<picojson::array*>(user_data);
       array->push_back(picojson::value(picojson::object()));
 
-      if (!utils::CreateApplicationContext(app_context,
-                                                      &array->back().get<picojson::object>())) {
+      if (!utils::CreateApplicationContext(app_context, &array->back().get<picojson::object>())) {
         array->pop_back();
         return false;
       }
@@ -965,8 +964,7 @@ void ApplicationManager::GetAppsInfo(const picojson::value& args) {
       picojson::array* array = static_cast<picojson::array*>(user_data);
       array->push_back(picojson::value(picojson::object()));
 
-      utils::CreateApplicationInformation(handle,
-                                                     &array->back().get<picojson::object>());
+      utils::CreateApplicationInformation(handle, &array->back().get<picojson::object>());
 
       return 0;
     };
@@ -1103,7 +1101,7 @@ void ApplicationManager::GetAppCerts(const std::string& app_id, picojson::object
     array->push_back(picojson::value(picojson::object()));
 
     utils::CreateApplicationCertificate(cert_name, cert_value,
-                                                   &array->back().get<picojson::object>());
+                                        &array->back().get<picojson::object>());
 
     return true;
   };
@@ -1446,8 +1444,7 @@ void ApplicationManager::GetAppMetaData(const std::string& app_id, picojson::obj
     picojson::array* array = static_cast<picojson::array*>(user_data);
     array->push_back(picojson::value(picojson::object()));
 
-    utils::CreateApplicationMetaData(meta_key, meta_value,
-                                                &array->back().get<picojson::object>());
+    utils::CreateApplicationMetaData(meta_key, meta_value, &array->back().get<picojson::object>());
     return 0;
   };
 
@@ -1567,8 +1564,7 @@ class ApplicationListChangedBroker {
             continue;
           }
           auto info = data_obj.insert(std::make_pair(kData, picojson::value(picojson::object())));
-          utils::CreateApplicationInformation(
-              handle, &info.first->second.get<picojson::object>());
+          utils::CreateApplicationInformation(handle, &info.first->second.get<picojson::object>());
           pkgmgrinfo_appinfo_destroy_appinfo(handle);
         } break;
         case Event::kUninstalled:
index 3d82c37..7705f1f 100644 (file)
@@ -29,8 +29,7 @@ namespace extension {
 namespace application {
 namespace utils {
 
-void CreateApplicationInformation(const pkgmgrinfo_appinfo_h handle,
-                                                    picojson::object* app_info) {
+void CreateApplicationInformation(const pkgmgrinfo_appinfo_h handle, picojson::object* app_info) {
   ScopeLogger();
 
   char* tmp_str = nullptr;
@@ -136,8 +135,7 @@ void CreateApplicationInformation(const pkgmgrinfo_appinfo_h handle,
   // size is set at first attribute access (performance)
 }
 
-bool CreateApplicationContext(const app_context_h handle,
-                                                picojson::object* app_context) {
+bool CreateApplicationContext(const app_context_h handle, picojson::object* app_context) {
   ScopeLogger();
   char* app_id = nullptr;
 
@@ -163,22 +161,21 @@ bool CreateApplicationContext(const app_context_h handle,
   return true;
 }
 
-void CreateApplicationContext(pid_t pid, const std::string& app_id,
-                                                picojson::object* app_context) {
+void CreateApplicationContext(pid_t pid, const std::string& app_id, picojson::object* app_context) {
   ScopeLogger();
   app_context->insert(std::make_pair("id", picojson::value(std::to_string(pid))));
   app_context->insert(std::make_pair("appId", picojson::value(app_id)));
 }
 
 void CreateApplicationCertificate(const char* cert_type, const char* cert_value,
-                                                    picojson::object* app_certificate) {
+                                  picojson::object* app_certificate) {
   ScopeLogger();
   app_certificate->insert(std::make_pair("type", picojson::value(cert_type)));
   app_certificate->insert(std::make_pair("value", picojson::value(cert_value)));
 }
 
 void CreateApplicationMetaData(const char* key, const char* value,
-                                                 picojson::object* app_meta_data) {
+                               picojson::object* app_meta_data) {
   ScopeLogger();
   app_meta_data->insert(std::make_pair("key", picojson::value(key)));
   app_meta_data->insert(std::make_pair("value", picojson::value(value)));
@@ -216,8 +213,7 @@ PlatformResult SetAppControlTextField(app_control_h app_control, const std::stri
   auto setter = setter_it->second;
 
   auto result = setter(app_control, value.c_str());
-  auto result_translated =
-      TranslateAppControlError(static_cast<app_control_error_e>(result));
+  auto result_translated = TranslateAppControlError(static_cast<app_control_error_e>(result));
 
   if (result_translated.IsError()) {
     LoggerD("Setting app_control's %s field failed: %s", field_name.c_str(),
@@ -262,8 +258,8 @@ PlatformResult SetAppControlDataField(app_control_h app_control, const picojson:
 
   for (auto iter = data.begin(); iter != data.end(); ++iter) {
     if (iter->is<picojson::object>()) {
-      PlatformResult ret = ApplicationControlDataToServiceExtraData(
-          iter->get<picojson::object>(), app_control);
+      PlatformResult ret =
+          ApplicationControlDataToServiceExtraData(iter->get<picojson::object>(), app_control);
       if (ret.IsError()) {
         return ret;
       }
@@ -295,8 +291,8 @@ PlatformResult SetAppControlFieldIfValueSpecified(
 
 }  // namespace
 
-PlatformResult ApplicationControlToService(
-    const picojson::object& app_control_obj, app_control_h* app_control) {
+PlatformResult ApplicationControlToService(const picojson::object& app_control_obj,
+                                           app_control_h* app_control) {
   ScopeLogger();
 
   const auto it_operation = app_control_obj.find(kOperationAppControlField);
@@ -367,8 +363,8 @@ PlatformResult ApplicationControlToService(
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
-PlatformResult ApplicationControlDataToServiceExtraData(
-    const picojson::object& app_control_data, app_control_h app_control) {
+PlatformResult ApplicationControlDataToServiceExtraData(const picojson::object& app_control_data,
+                                                        app_control_h app_control) {
   ScopeLogger();
 
   const auto it_key = app_control_data.find("key");
@@ -398,7 +394,8 @@ PlatformResult ApplicationControlDataToServiceExtraData(
   if (1 == value_data.size()) {
     result = app_control_add_extra_data(app_control, key.c_str(), value_data[0]);
   } else {
-    result = app_control_add_extra_data_array(app_control, key.c_str(), value_data.data(), value_data.size());
+    result = app_control_add_extra_data_array(app_control, key.c_str(), value_data.data(),
+                                              value_data.size());
   }
 
   if (APP_CONTROL_ERROR_INVALID_PARAMETER == result) {
@@ -418,8 +415,7 @@ PlatformResult ApplicationControlDataToServiceExtraData(
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
-void ServiceToApplicationControl(app_control_h app_control,
-                                                   picojson::object* app_control_obj) {
+void ServiceToApplicationControl(app_control_h app_control, picojson::object* app_control_obj) {
   ScopeLogger();
 
   int ret = 0;
@@ -494,8 +490,8 @@ void ServiceToApplicationControl(app_control_h app_control,
       app_control, &app_control_obj->find(kDataAppControlField)->second.get<picojson::array>());
 }
 
-void ServiceExtraDataToApplicationControlData(
-    app_control_h app_control, const std::string& key, picojson::object* app_control_data) {
+void ServiceExtraDataToApplicationControlData(app_control_h app_control, const std::string& key,
+                                              picojson::object* app_control_data) {
   ScopeLogger();
 
   int ret = 0;
@@ -545,8 +541,7 @@ void ServiceExtraDataToApplicationControlData(
   app_control_data->insert(std::make_pair("value", picojson::value(value_array)));
 }
 
-bool ServiceExtraDataCallback(app_control_h app_control, const char* key,
-                                                void* user_data) {
+bool ServiceExtraDataCallback(app_control_h app_control, const char* key, void* user_data) {
   ScopeLogger();
   picojson::array* data = static_cast<picojson::array*>(user_data);
 
@@ -556,8 +551,7 @@ bool ServiceExtraDataCallback(app_control_h app_control, const char* key,
   return true;
 }
 
-bool ServiceToApplicationControlDataArray(app_control_h app_control,
-                                                            picojson::array* data) {
+bool ServiceToApplicationControlDataArray(app_control_h app_control, picojson::array* data) {
   ScopeLogger();
   int ret = app_control_foreach_extra_data(app_control, ServiceExtraDataCallback, data);
   return APP_CONTROL_ERROR_NONE == ret;
index cdc935f..d2ae699 100644 (file)
@@ -32,16 +32,15 @@ void CreateApplicationInformation(const pkgmgrinfo_appinfo_h handle, picojson::o
 
 bool CreateApplicationContext(const app_context_h handle, picojson::object* app_context);
 
-void CreateApplicationContext(pid_t pid, const std::string& app_id,
-    picojson::object* app_context);
+void CreateApplicationContext(pid_t pid, const std::string& app_id, picojson::object* app_context);
 
 void CreateApplicationCertificate(const char* cert_type, const char* cert_value,
-    picojson::object* app_certificate);
+                                  picojson::object* app_certificate);
 
 void CreateApplicationMetaData(const char* key, const char* value, picojson::object* app_meta_data);
 
 common::PlatformResult ApplicationControlToService(const picojson::object& app_control_obj,
-    app_control_h* app_control);
+                                                   app_control_h* app_control);
 
 common::PlatformResult ApplicationControlDataToServiceExtraData(
     const picojson::object& app_control_data, app_control_h app_control);
@@ -49,7 +48,7 @@ common::PlatformResult ApplicationControlDataToServiceExtraData(
 void ServiceToApplicationControl(app_control_h app_control, picojson::object* app_control_obj);
 
 void ServiceExtraDataToApplicationControlData(app_control_h app_control, const std::string& key,
-    picojson::object* app_control_data);
+                                              picojson::object* app_control_data);
 
 bool ServiceToApplicationControlDataArray(app_control_h app_control, picojson::array* data);
 
index eeec2e8..de72ca4 100644 (file)
@@ -81,8 +81,8 @@ void RequestedApplicationControl::ToJson(picojson::object* out) {
     out->insert(std::make_pair("callerAppId", picojson::value(caller_app_id_)));
     auto appControl =
         out->insert(std::make_pair("appControl", picojson::value(picojson::object())));
-    utils::ServiceToApplicationControl(
-        app_control_.get(), &appControl.first->second.get<picojson::object>());
+    utils::ServiceToApplicationControl(app_control_.get(),
+                                       &appControl.first->second.get<picojson::object>());
   }
 }
 
@@ -108,17 +108,23 @@ void RequestedApplicationControl::ReplyResult(const picojson::value& args, picoj
   }
 
   // create reply
-  app_control_h reply;
-  app_control_create(&reply);
+  app_control_h reply = nullptr;
+  int ret = app_control_create(&reply);
+  if (APP_CONTROL_ERROR_NONE != ret) {
+    LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "app control create failed."), out,
+                      ("app control create failed: %d", ret));
+    return;
+  }
   std::unique_ptr<std::remove_pointer<app_control_h>::type, int (*)(app_control_h)> reply_ptr(
       reply, &app_control_destroy);  // automatically release the memory
 
   if (!data.empty()) {
     for (auto iter = data.begin(); iter != data.end(); ++iter) {
-      result = utils::ApplicationControlDataToServiceExtraData(
-          iter->get<picojson::object>(), reply);
+      result =
+          utils::ApplicationControlDataToServiceExtraData(iter->get<picojson::object>(), reply);
       if (result.IsError()) {
-        LogAndReportError(result, out, ("Failed utils::ApplicationControlDataToServiceExtraData()"));
+        LogAndReportError(result, out,
+                          ("Failed utils::ApplicationControlDataToServiceExtraData()"));
         return;
       }
     }
@@ -127,7 +133,7 @@ void RequestedApplicationControl::ReplyResult(const picojson::value& args, picoj
   }
 
   // send reply
-  int ret =
+  ret =
       app_control_reply_to_launch_request(reply, app_control_.get(), APP_CONTROL_RESULT_SUCCEEDED);
   if (APP_CONTROL_ERROR_NONE != ret) {
     LogAndReportError(PlatformResult(ErrorCode::NOT_FOUND_ERR, "Cannot find caller."), out,
@@ -151,14 +157,18 @@ void RequestedApplicationControl::ReplyFailure(picojson::object* out) {
   }
 
   // create reply
-  app_control_h reply;
-  app_control_create(&reply);
+  app_control_h reply = nullptr;
+  int ret = app_control_create(&reply);
+  if (APP_CONTROL_ERROR_NONE != ret) {
+    LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "app control create failed."), out,
+                      ("app control create failed: %d", ret));
+    return;
+  }
   std::unique_ptr<std::remove_pointer<app_control_h>::type, int (*)(app_control_h)> reply_ptr(
       reply, &app_control_destroy);  // automatically release the memory
 
   // send reply
-  int ret =
-      app_control_reply_to_launch_request(reply, app_control_.get(), APP_CONTROL_RESULT_FAILED);
+  ret = app_control_reply_to_launch_request(reply, app_control_.get(), APP_CONTROL_RESULT_FAILED);
   if (APP_CONTROL_ERROR_NONE != ret) {
     LogAndReportError(PlatformResult(ErrorCode::NOT_FOUND_ERR, "Cannot find caller."), out,
                       ("Cannot find caller: %d (%s)", ret, get_error_message(ret)));
index 8924616..c83cfd1 100644 (file)
@@ -387,7 +387,7 @@ void BaseProgressCallback::callProgressCallbackOnMainThread(const double progres
 
     guint id = g_idle_add(BaseProgressCallback::callProgressCallbackCB, static_cast<void*>(ph));
     if (!id) {
-      LoggerE("g_idle_add fails");
+      LoggerE("g_idle_add failed");
       delete ph;
       ph = NULL;
     }
index 94ec9db..5155c2e 100644 (file)
@@ -208,7 +208,7 @@ void ArchiveFile::taskManagerThread(gpointer data, gpointer user_data) {
                 result.message().c_str());
         callback->setError(result.error_code(), result.message().c_str());
         if (!g_idle_add(callErrorCallback, static_cast<void*>(callback))) {
-          LoggerE("g_idle_add fails");
+          LoggerE("g_idle_add failed");
           delete callback;
           callback = NULL;
         }
index a21aaee..7d12135 100644 (file)
@@ -69,7 +69,8 @@ int BundleAddStringArray(const std::string& key, const picojson::value& value,
   return bundle_add_str_array(bundle_data, key.c_str(), cstrings.data(), cstrings.size());
 }
 
-int BundleAddByteStreamArray(const std::string& key, const picojson::value& value, bundle* bundle_data) {
+int BundleAddByteStreamArray(const std::string& key, const picojson::value& value,
+                             bundle* bundle_data) {
   ScopeLogger();
   const auto& jarray = value.get<picojson::array>();
 
index aad4d3c..3023850 100644 (file)
 
 #include "platform_result.h"
 
-#include <string>
+#include <initializer_list>
 #include <map>
+#include <string>
 #include <vector>
-#include <initializer_list>
-
 
 namespace common {
 
+template <typename NativeEnumType>
+class PlatformEnum {
+  using MapType = std::map<std::string, NativeEnumType>;
+  using RevMapType = std::map<NativeEnumType, std::string>;
 
-template<typename NativeEnumType>
-class PlatformEnum
-{
-using MapType = std::map<std::string, NativeEnumType>;
-using RevMapType = std::map<NativeEnumType, std::string>;
-
-using MapTypeConstIter = typename MapType::const_iterator;
+  using MapTypeConstIter = typename MapType::const_iterator;
 
-public:
-  PlatformEnum(std::initializer_list<std::pair<const std::string, NativeEnumType>> m) : mapping_(m) {
-    for (auto it: mapping_) {
+ public:
+  PlatformEnum(std::initializer_list<std::pair<const std::string, NativeEnumType>> m)
+      : mapping_(m) {
+    for (auto it : mapping_) {
       rev_mapping_[it.second] = it.first;
     }
   }
@@ -78,13 +76,11 @@ public:
     return mapping_.cend();
   }
 
-private:
+ private:
   MapType mapping_;
   RevMapType rev_mapping_;
 };
 
+}  // common
 
-} // common
-
-
-#endif // COMMON_PLATFORM_ENUM_H_
+#endif  // COMMON_PLATFORM_ENUM_H_
index fe551a5..0f335a4 100644 (file)
@@ -71,7 +71,9 @@ void TaskQueue::Stop() {
 void TaskQueue::ScheduleWorkInMainThread(const std::function<void()>& work) {
   QueueData<void>* d = new QueueData<void>();
   d->work_callback_ = work;
-  g_idle_add(WorkCallback<void>, d);
+  if (!g_idle_add(WorkCallback<void>, d)) {
+    LoggerE("g_idle_add failed");
+  }
 }
 
 }  // namespace common
index c44cc09..1d7b04d 100644 (file)
@@ -188,7 +188,9 @@ void TaskQueue::ScheduleWorkInMainThread(const std::function<void(const std::sha
   QueueData<T>* d = new QueueData<T>();
   d->work_callback_ = work;
   d->data_ = data;
-  g_idle_add(WorkCallback<T>, d);
+  if (!g_idle_add(WorkCallback<T>, d)) {
+    LoggerE("g_idle_add failed");
+  }
 }
 
 }  // namespace common
index 9e0466c..cd4eeb4 100644 (file)
@@ -581,13 +581,12 @@ PlatformResult CheckFileAvailability(const std::string& path) {
 
 void PrintDeprecationWarningFor(const char* className, const char* replacement) {
   if (nullptr == replacement) {
-    LoggerW("DEPRECATION WARNING: %s is deprecated and using it is not recommended.",
-          className);
+    LoggerW("DEPRECATION WARNING: %s is deprecated and using it is not recommended.", className);
   } else {
-    LoggerW("DEPRECATION WARNING: %s is deprecated and using it is not recommended. Try using %s instead",
-          className, replacement);
+    LoggerW(
+        "DEPRECATION WARNING: %s is deprecated and using it is not recommended. Try using %s "
+        "instead", className, replacement);
   }
-
 }
 
 }  // namespace tools
index 0ebd945..56ca85e 100644 (file)
@@ -209,16 +209,24 @@ void DownloadInstance::OnStateChanged(int download_id, download_state_e state, v
       OnStart(download_id, user_data);
       break;
     case DOWNLOAD_STATE_PAUSED:
-      g_idle_add(OnPaused, down_cb_ptr);
+      if (!g_idle_add(OnPaused, down_cb_ptr)) {
+        LoggerE("g_idle_add failed");
+      }
       break;
     case DOWNLOAD_STATE_COMPLETED:
-      g_idle_add(OnFinished, down_cb_ptr);
+      if (!g_idle_add(OnFinished, down_cb_ptr)) {
+        LoggerE("g_idle_add failed");
+      }
       break;
     case DOWNLOAD_STATE_CANCELED:
-      g_idle_add(OnCanceled, down_cb_ptr);
+      if (!g_idle_add(OnCanceled, down_cb_ptr)) {
+        LoggerE("g_idle_add failed");
+      }
       break;
     case DOWNLOAD_STATE_FAILED:
-      g_idle_add(OnFailed, down_cb_ptr);
+      if (!g_idle_add(OnFailed, down_cb_ptr)) {
+        LoggerE("g_idle_add failed");
+      }
       break;
     default:
       LoggerD("Unexpected download state: %d", state);
@@ -467,7 +475,9 @@ void DownloadInstance::progress_changed_cb(int download_id, long long unsigned r
   down_cb_ptr->received = received;
   down_cb_ptr->native_download_id = download_id;
 
-  g_idle_add(OnProgressChanged, down_cb_ptr);
+  if (!g_idle_add(OnProgressChanged, down_cb_ptr)) {
+    LoggerE("g_idle_add failed");
+  }
 }
 
 #define CHECK_CONNECTION_ERROR(ret)                                                            \
index a845668..eb66d20 100644 (file)
 #include <string>
 #include <vector>
 
+#include "common/json-utils.h"
 #include "common/logger.h"
 #include "common/picojson.h"
 #include "common/platform_exception.h"
-#include "common/json-utils.h"
 
 namespace extension {
 namespace messageport {
@@ -277,7 +277,13 @@ void MessageportInstance::RemoteMessagePortSendmessage(const picojson::value& ar
     const std::string& valueType = (*it).get("valueType").get<std::string>();
     if ("stringValueType" == valueType) {
       LoggerD("value is string");
-      bundle_add(bundle, (*it).get("key").to_str().c_str(), (*it).get("value").to_str().c_str());
+      result = bundle_add(bundle, (*it).get("key").to_str().c_str(),
+                          (*it).get("value").to_str().c_str());
+      if (BUNDLE_ERROR_NONE != result) {
+        LogAndReportError(
+            UnknownException("Unable to add data to bundle."), out,
+            ("bundle_add(data) error: %d, message: %s", result, get_error_message(result)));
+      }
     } else if ("stringArrayValueType" == valueType) {
       LoggerD("value is string array");
       std::vector<picojson::value> value_array = (*it).get("value").get<picojson::array>();
@@ -289,7 +295,10 @@ void MessageportInstance::RemoteMessagePortSendmessage(const picojson::value& ar
         arr[i] = iter->get<std::string>().c_str();
       }
 
-      bundle_add_str_array(bundle, (*it).get("key").to_str().c_str(), arr, size);
+      result = bundle_add_str_array(bundle, (*it).get("key").to_str().c_str(), arr, size);
+      if (BUNDLE_ERROR_NONE != result) {
+        LoggerE("bundle_add_str_array failed, error: %d (%s)", result, get_error_message(result));
+      }
       delete[] arr;
     } else if ("byteStreamValueType" == valueType) {
       LoggerD("value is byte stream");
@@ -301,13 +310,19 @@ void MessageportInstance::RemoteMessagePortSendmessage(const picojson::value& ar
       for (auto iter = value_array.begin(); iter != value_array.end(); ++iter, ++i) {
         arr[i] = (int)(*iter).get<double>();
       }
-      bundle_add_byte(bundle, (*it).get("key").to_str().c_str(), arr, size);
+      result = bundle_add_byte(bundle, (*it).get("key").to_str().c_str(), arr, size);
+      if (BUNDLE_ERROR_NONE != result) {
+        LoggerE("bundle_add_byte failed, error: %d (%s)", result, get_error_message(result));
+      }
       delete[] arr;
     } else if ("byteStreamArrayValueType" == valueType) {
       LoggerD("value is byte stream array");
       std::vector<picojson::value> byteStreamArray = (*it).get("value").get<picojson::array>();
       const size_t size = byteStreamArray.size();
-      bundle_add_byte_array(bundle, (*it).get("key").to_str().c_str(), nullptr, size);
+      result = bundle_add_byte_array(bundle, (*it).get("key").to_str().c_str(), nullptr, size);
+      if (BUNDLE_ERROR_NONE != result) {
+        LoggerE("bundle_add_byte_array failed, error: %d (%s)", result, get_error_message(result));
+      }
       size_t i = 0;
 
       for (auto iter = byteStreamArray.begin(); iter != byteStreamArray.end(); ++iter, ++i) {
index 5b89dd6..d7b07f3 100644 (file)
@@ -116,8 +116,9 @@ PlatformResult EmailManager::InitializeEmailService() {
     }
 
     int slot_size = -1;
-    vconf_get_int("db/private/email-service/slot_size", &(slot_size));
-    if (slot_size > 0) {
+    ntv_ret = vconf_get_int("db/private/email-service/slot_size", &(slot_size));
+
+    if (0 == ntv_ret && slot_size > 0) {
       m_slot_size = slot_size;
     }
 
index 43644f8..e8116dd 100644 (file)
@@ -495,7 +495,8 @@ bool MessageConversation::isMatchingAttributeRange(const std::string& attribute_
   if (MESSAGE_CONVERSATION_ATTRIBUTE_TIMESTAMP == attribute_name) {
     return FilterUtils::isTimeStampInRange(getTimestamp(), initial_value, end_value);
   } else if (MESSAGE_CONVERSATION_ATTRIBUTE_MESSAGE_COUNT == attribute_name) {
-    return initial_value->toULong() <= getMessageCount() && getMessageCount() <= end_value->toULong();
+    return initial_value->toULong() <= getMessageCount() &&
+           getMessageCount() <= end_value->toULong();
   } else if (MESSAGE_CONVERSATION_ATTRIBUTE_UNREAD_MESSAGES == attribute_name) {
     return initial_value->toULong() <= getUnreadMessages() &&
            getUnreadMessages() <= end_value->toULong();
index 94b0bd1..c0e9889 100644 (file)
@@ -14,8 +14,8 @@
  *    limitations under the License.
  */
 
-#include "MsgCommon/AbstractFilter.h"
 #include "message_folder.h"
+#include "MsgCommon/AbstractFilter.h"
 #include "messaging_util.h"
 
 namespace extension {