[common] Fixing coverity issues 36/174036/2
authorRafal Walczyna <r.walczyna@partner.samsung.com>
Tue, 27 Mar 2018 11:55:44 +0000 (13:55 +0200)
committerRafal Walczyna <r.walczyna@partner.samsung.com>
Wed, 28 Mar 2018 09:30:49 +0000 (11:30 +0200)
Issues: 110672, 108789, 108137, 107617,
106435, 112265, 112254, 107669, 105923

[Verification] 100% passrate in:
bookmark, calendar, contact, content, datacontrol,
filesystem, keymanager

Change-Id: Id667a94fe653f831a8cfdd70813c8ace91e1cf5d
Signed-off-by: Rafal Walczyna <r.walczyna@partner.samsung.com>
src/bookmark/bookmark_instance.cc
src/calendar/calendar_manager.cc
src/contact/contact_manager.cc
src/contact/person.cc
src/content/content_manager.cc
src/datacontrol/datacontrol_instance.cc
src/filesystem/filesystem_manager.cc
src/keymanager/keymanager_instance.cc

index 884dba1464262b757f3e238dbf7a6e9dc170cf0f..145d6b4e772fcee947ee41f7dedea6822f26593b 100644 (file)
@@ -70,7 +70,11 @@ bool BookmarkInstance::bookmark_foreach(Context& ctx, bp_bookmark_info_fmt& info
 
   if (ids_count > 0) {
     for (int i = 0; i < ids_count; i++) {
-      bp_bookmark_adaptor_get_easy_all(ids[i], &info);
+      if (bp_bookmark_adaptor_get_easy_all(ids[i], &info) < 0) {
+        int errorcode = bp_bookmark_adaptor_get_errorcode();
+        LoggerW("bp_bookmark_adaptor_get_easy_all for id %d returns error: %d", ids[i], errorcode);
+        continue;
+      }
       item.id = ids[i];
       item.bookmark_info = info;
       if ((ctx.shouldGetItems && item.bookmark_info.parent != ctx.id) ||
index db72589a01d3c7cfab8bbaeb57500fa6f4b25f43..16066357f3560b1dba38318d7071dbc6675ac40f 100644 (file)
@@ -36,7 +36,7 @@ const int kUnifiedCalendardId = 0;
 
 using namespace common;
 
-CalendarManager::CalendarManager() {
+CalendarManager::CalendarManager() : is_connected_(false) {
   ScopeLogger();
   if (CALENDAR_ERROR_NONE == calendar_connect()) {
     LoggerD("Calendar DB connected");
index 6fe6b9821734b59905cec931888ccaaf1e458c04..7730068d831474f5fd5d4b543ea2b7dbf24de944 100644 (file)
@@ -106,7 +106,11 @@ PlatformResult ContactManagerGetAddressBooks(const JsonObject& args, JsonArray&
     single_obj["readOnly"] = JsonValue(CONTACTS_ADDRESS_BOOK_MODE_READONLY == mode);
     out.push_back(single);
 
-    contacts_list_next(*contacts_list_ptr);
+    error_code = contacts_list_next(*contacts_list_ptr);
+    if (CONTACTS_ERROR_NONE != error_code) {
+      LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", error_code);
+      break;
+    }
   }
 
   return PlatformResult(ErrorCode::NO_ERROR);
@@ -771,7 +775,11 @@ PlatformResult ContactManagerFind(const JsonObject& args, JsonArray& out) {
 
     out.push_back(JsonValue(obj));
 
-    contacts_list_next(person_list);
+    error_code = contacts_list_next(person_list);
+    if (CONTACTS_ERROR_NONE != error_code) {
+      LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", error_code);
+      break;
+    }
   }
 
   return PlatformResult(ErrorCode::NO_ERROR);
@@ -954,7 +962,11 @@ PlatformResult ContactManagerFindByUsageCount(const JsonObject& args, JsonArray&
 
     out.push_back(JsonValue(obj));
 
-    contacts_list_next(person_list);
+    error_code = contacts_list_next(person_list);
+    if (CONTACTS_ERROR_NONE != error_code) {
+      LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", error_code);
+      break;
+    }
   }
 
   return PlatformResult(ErrorCode::NO_ERROR);
index 909d221a4208907f7f8800c291e22dd6db7deafa..136407eaf7f7a185dc0a48f997f3b661d96457af 100644 (file)
@@ -246,7 +246,11 @@ PlatformResult GetUsageCount(const JsonObject& args, JsonObject& out) {
 
     usage_count += usage_count_tmp;
 
-    contacts_list_next(list);
+    ret = contacts_list_next(list);
+    if (CONTACTS_ERROR_NONE != ret) {
+      LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", ret);
+      break;
+    }
   }
 
   out.insert(
index ab888871e3c91496ede4824e4b9091e656e32c2b..edd86d510861330a56d49e8d24b4fbbf7a56b9d0 100644 (file)
@@ -1383,7 +1383,10 @@ int ContentManager::getLyrics(const picojson::value& args, picojson::object& res
   }
 
   metadata_extractor_h extractor;
-  metadata_extractor_create(&extractor);
+  ret = metadata_extractor_create(&extractor);
+  if (METADATA_EXTRACTOR_ERROR_NONE != ret) {
+    LOGGER(ERROR) << "metadata_extractor_create failed, error: " << ret;
+  }
   std::unique_ptr<std::remove_pointer<metadata_extractor_h>::type, int (*)(metadata_extractor_h)>
       extractor_ptr(extractor, &metadata_extractor_destroy);  // automatically release the memory
 
index 97c3720ef704529dc4530d33a3335101620ef486..00a41e38091ae3de1f27073dc191c5529778d0f1 100644 (file)
@@ -413,9 +413,7 @@ int DatacontrolInstance::RunMAPDataControlJob(const std::string& providerId,
   result = job(handle, &info->requestId);
   RETURN_IF_FAIL(result, "Doing job failed with error");
 
-  IdMap[info->requestId] = info.get();
-
-  info.release();
+  IdMap[info->requestId] = info.release();
 
   return result;
 }
@@ -448,9 +446,7 @@ int DatacontrolInstance::RunSQLDataControlJob(const std::string& providerId,
   result = job(handle, &info->requestId);
   RETURN_IF_FAIL(result, "Doing job failed with error");
 
-  IdMap[info->requestId] = info.get();
-
-  info.release();
+  IdMap[info->requestId] = info.release();
 
   return result;
 }
index e6b373d20af7220139197d7d730472639d8c93ea..5050a0ae41a6da234e3e23ccf993e076b0f20572 100644 (file)
@@ -460,6 +460,7 @@ void FilesystemManager::GetCanonicalPath(const std::string& path,
     LoggerE("Cannot get realpath of %s. Error: %s!", path.c_str(),
             GetErrorString(tmpErrno).c_str());
     error_cb(FilesystemError::Other);
+    return;
   }
 
   std::string canonicalPathStr(canonicalPath);
index 0e055122ad28a776deba459af2384738e82818be..cc85aad82826852f11b20ed1199333195571f4ba 100644 (file)
@@ -64,9 +64,13 @@ void GetGenericAliasList(AliasListFunction func, picojson::object* out) {
       if (head->alias) {
         char* saveptr = nullptr;
         char* tokenized = strtok_r(head->alias, kSpace.c_str(), &saveptr);
-        obj["packageId"] = picojson::value(tokenized);
+        if (nullptr != tokenized) {
+          obj["packageId"] = picojson::value(tokenized);
+        }
         tokenized = strtok_r(nullptr, kSpace.c_str(), &saveptr);
-        obj["name"] = picojson::value(tokenized);
+        if (nullptr != tokenized) {
+          obj["name"] = picojson::value(tokenized);
+        }
 
         aliases.push_back(resultElem);
       }