Fix static analysis issues 21/294321/4
authorSangyoon Jang <jeremy.jang@samsung.com>
Fri, 16 Jun 2023 04:55:53 +0000 (13:55 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Fri, 16 Jun 2023 06:47:01 +0000 (15:47 +0900)
Fix using of invalid iterator.
Fix unnecessary copy operations.

Change-Id: Ib3f2b52c2b3a18c321f64b29c4ab30f4d7bf79a6
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/tpk_manifest_handlers/privileges_handler.cc
src/tpk_manifest_handlers/provides_appdefined_privileges_handler.cc
src/tpk_manifest_handlers/ui_application_handler.cc
src/tpk_manifest_handlers/widget_application_handler.cc

index d3bae1d539b4caa2a842b1362e90453b5d7842a3..c4ca924841b3c0624b02f70f7599c3efe83134d8 100644 (file)
@@ -71,7 +71,7 @@ bool PrivilegesHandler::Validate(
   const PrivilegesInfo& privileges_info =
       static_cast<const PrivilegesInfo&>(data);
   auto appdef_privileges = privileges_info.GetAppDefinedPrivilegeInfoList();
-  for (auto priv : appdef_privileges) {
+  for (const auto& priv : appdef_privileges) {
     const AppDefinedPrivilegeInfo& info =
       static_cast<const AppDefinedPrivilegeInfo&>(priv);
     if (!AppDefinedPrivilegeValidation(info, "", error))
index 1de2f0e8476de95303759969dc3bb8812a54a2f9..9ac9336879f136da378a255cf7b06d7b5c507cea 100644 (file)
@@ -52,13 +52,17 @@ bool ProvidesAppDefinedPrivilegesHandler::Validate(
     const parser::ManifestData& data,
     const parser::ManifestDataMap& handlers_output,
     std::string* error) const {
+  auto it = handlers_output.find(PackageInfo::key());
+  if (it == handlers_output.end()) {
+    *error = "ManifestHandler is not found.";
+    return false;
+  }
   std::shared_ptr<const PackageInfo> package_info =
-      std::static_pointer_cast<const PackageInfo>(
-          handlers_output.find(PackageInfo::key())->second);
+      std::static_pointer_cast<const PackageInfo>(it->second);
   const ProvidesAppDefinedPrivilegesInfo& privileges_info =
       static_cast<const ProvidesAppDefinedPrivilegesInfo&>(data);
   auto appdef_privileges = privileges_info.GetAppDefinedPrivilegeInfoList();
-  for (auto priv : appdef_privileges) {
+  for (const auto& priv : appdef_privileges) {
     const AppDefinedPrivilegeInfo& info =
       static_cast<const AppDefinedPrivilegeInfo&>(priv);
     if (!AppDefinedPrivilegeValidation(info, package_info->package(), error))
index 1e4040fa7e3768065564c1c4989f672632169077..25ac9fedad1c25d89a40c003c6f2b4b99175f16e 100644 (file)
@@ -342,9 +342,13 @@ bool UIApplicationHandler::Validate(
   const UIApplicationInfoList& elements =
       static_cast<const UIApplicationInfoList&>(data);
 
+  auto it = handlers_output.find(kManifestKey);
+  if (it == handlers_output.end()) {
+    *error = "ManifestHandler is not found.";
+    return false;
+  }
   std::shared_ptr<const PackageInfo> package_info =
-      std::static_pointer_cast<const PackageInfo>(
-          handlers_output.find(kManifestKey)->second);
+      std::static_pointer_cast<const PackageInfo>(it->second);
 
   for (const auto& item : elements.items) {
     if (!UIAppValidation(item, package_info->api_version(), error) ||
index f305cf4aee680a742b0a2e4b3a700a00d5c50594..44af33d8885e68556f6d118f9db2950893d7718f 100644 (file)
@@ -224,10 +224,13 @@ bool WidgetApplicationHandler::Validate(
   const WidgetApplicationInfoList& elements =
       static_cast<const WidgetApplicationInfoList&>(data);
 
-
+  auto it = handlers_output.find(kManifestKey);
+  if (it == handlers_output.end()) {
+    *error = "ManifestHandler is not found.";
+    return false;
+  }
   std::shared_ptr<const PackageInfo> package_info =
-      std::static_pointer_cast<const PackageInfo>(
-          handlers_output.find(kManifestKey)->second);
+      std::static_pointer_cast<const PackageInfo>(it->second);
 
   for (const auto& item : elements.items) {
     if (!WidgetAppValidation(item, package_info->api_version(), error) ||