diff --git a/frameworks/native/ability/native/recovery/app_recovery.cpp b/frameworks/native/ability/native/recovery/app_recovery.cpp index 57fe016c9ef0c988748f01bc08d3b1a726ffd6e2..4d6e20280a3bcb761ebc59e751305fa8ce75b7d4 100644 --- a/frameworks/native/ability/native/recovery/app_recovery.cpp +++ b/frameworks/native/ability/native/recovery/app_recovery.cpp @@ -480,6 +480,7 @@ bool AppRecovery::GetMissionIds(std::string path, std::vector &missionI while ((ptr = readdir(dir)) != nullptr) { if (ptr == nullptr) { TAG_LOGE(AAFwkTag::RECOVERY, "read dir error."); + closedir(dir); return false; } if (strcmp(ptr->d_name, ".") == 0 || strcmp(ptr->d_name, "..") == 0) {