Fix static analysis issue 90/218390/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 22 Nov 2019 02:12:48 +0000 (11:12 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 22 Nov 2019 02:13:02 +0000 (11:13 +0900)
Change-Id: I4d81482d873169e2839537dc69f8bac9d6a826cc
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/hybrid/step/configuration/step_merge_tpk_config.cc

index 504f557..7caa7b7 100644 (file)
@@ -22,8 +22,9 @@ common_installer::Step::Status StepMergeTpkConfig::process() {
   manifest_x* tpk_data = data->tpk_manifest_data.get();
   manifest_x* wgt_data = context_->manifest_data.get();
   // FIXME:api-version of tpk app will have wgt's if modified manifest exists.
-  for (GList* tpk_list = tpk_data->application;
-      tpk_list != nullptr; tpk_list = g_list_next(tpk_list)) {
+  GList* tpk_list = tpk_data->application;
+  while (tpk_list != nullptr) {
+    GList *next_list = g_list_next(tpk_list);
     application_x* tpk_app = static_cast<application_x*>(tpk_list->data);
     bool is_found = false;
     for (GList* wgt_list = wgt_data->application;
@@ -34,12 +35,16 @@ common_installer::Step::Status StepMergeTpkConfig::process() {
         break;
       }
     }
-    if (is_found)
+    if (is_found) {
+      tpk_list = next_list;
       continue;
+    }
     wgt_data->application = g_list_append(
         wgt_data->application, tpk_list->data);
     tpk_data->application = g_list_delete_link(
         tpk_data->application, tpk_list);
+
+    tpk_list = next_list;
   }
 
   return Status::OK;