diff --git a/services/abilitymgr/src/app_exit_reason_data_manager.cpp b/services/abilitymgr/src/app_exit_reason_data_manager.cpp index dfb127a628bb4acec6a0d3de24af0e707fc81ddb..e47d27f7dfad59420b345a5e0752f4e8fa8a062b 100644 --- a/services/abilitymgr/src/app_exit_reason_data_manager.cpp +++ b/services/abilitymgr/src/app_exit_reason_data_manager.cpp @@ -637,9 +637,10 @@ int32_t AppExitReasonDataManager::DeleteAbilityRecoverInfo( recoverInfoList.erase(std::remove(recoverInfoList.begin(), recoverInfoList.end(), recoverInfo), recoverInfoList.end()); int index = std::distance(recoverInfoList.begin(), pos); - sessionIdList.erase(std::remove(sessionIdList.begin(), sessionIdList.end(), sessionIdList[index]), + int sessionId = sessionIdList[index]; + sessionIdList.erase(std::remove(sessionIdList.begin(), sessionIdList.end(), sessionId), sessionIdList.end()); - InnerDeleteSessionId(sessionIdList[index]); + InnerDeleteSessionId(sessionId); UpdateAbilityRecoverInfo(accessTokenId, recoverInfoList, sessionIdList); TAG_LOGI(AAFwkTag::ABILITYMGR, "DeleteAbilityRecoverInfo remove recoverInfo succeed"); }