Fix StepRevmoeUserData 07/259907/2
authorSangyoon Jang <jeremy.jang@samsung.com>
Wed, 16 Jun 2021 09:09:18 +0000 (18:09 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Wed, 16 Jun 2021 10:09:22 +0000 (10:09 +0000)
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 <jeremy.jang@samsung.com>
src/common/step/filesystem/step_remove_user_data.cc

index d89e4df..fc2fd20 100644 (file)
@@ -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;
   }