From e83df1901ee96d7b183148e6b500399e49293cca Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 16 Jun 2021 18:09:18 +0900 Subject: [PATCH] Fix StepRevmoeUserData Use directory_iterator instead of recursive_directory_iterator. recursive_directory_iterator may access files already removed, and this causes exception. Change-Id: Idee057b214d0b624710edda75ed33027e357918d Signed-off-by: Sangyoon Jang --- src/common/step/filesystem/step_remove_user_data.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/common/step/filesystem/step_remove_user_data.cc b/src/common/step/filesystem/step_remove_user_data.cc index d89e4df..fc2fd20 100644 --- a/src/common/step/filesystem/step_remove_user_data.cc +++ b/src/common/step/filesystem/step_remove_user_data.cc @@ -24,11 +24,9 @@ bool RemoveContents(const bf::path& path) { if (!bf::exists(path)) return true; - for (bf::recursive_directory_iterator iter(path); - iter != bf::recursive_directory_iterator(); ) { - bf::path file_path = iter->path(); - ++iter; - if (!ci::RemoveAll(file_path)) + for (bf::directory_iterator iter(path); iter != bf::directory_iterator(); + ++iter) { + if (!ci::RemoveAll(iter->path())) return false; } -- 2.7.4