From 850d95cccc1de713b41b22d4e4b68db013d6f36b Mon Sep 17 00:00:00 2001 From: jsjzju Date: Thu, 10 Mar 2022 23:19:37 +0800 Subject: [PATCH] IssueNo:#I4X9ZQ Description: Fix crash caused by Uninstall Sig:SIG_ApplicationFramework Feature or Bugfix:Bugfix Binary Source:No Signed-off-by: jsjzju Change-Id: I601b10d5f096ceed26d2b37a06ce9b98b2d52793 --- services/abilitymgr/src/mission_list_manager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/abilitymgr/src/mission_list_manager.cpp b/services/abilitymgr/src/mission_list_manager.cpp index 17f1166cd8a..ce39b99fd8b 100644 --- a/services/abilitymgr/src/mission_list_manager.cpp +++ b/services/abilitymgr/src/mission_list_manager.cpp @@ -2339,13 +2339,16 @@ void MissionListManager::UninstallApp(const std::string &bundleName, int32_t uid void MissionListManager::AddUninstallTags(const std::string &bundleName, int32_t uid) { HILOG_INFO("AddUninstallTags, bundleName: %{public}s, uid:%{public}d", bundleName.c_str(), uid); - for (auto& missionList : currentMissionLists_) { + for (auto it = currentMissionLists_.begin(); it != currentMissionLists_.end();) { + auto missionList = *it; if (missionList) { missionList->HandleUnInstallApp(bundleName, uid); // add tag here. if (missionList->IsEmpty()) { - currentMissionLists_.remove(missionList); + currentMissionLists_.erase(it++); + continue; } } + it++; } defaultSingleList_->HandleUnInstallApp(bundleName, uid); defaultStandardList_->HandleUnInstallApp(bundleName, uid); -- Gitee