Fix StepRemoveUserData 64/243364/1
authorIlho Kim <ilho159.kim@samsung.com>
Mon, 7 Sep 2020 05:57:47 +0000 (14:57 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Mon, 7 Sep 2020 05:57:47 +0000 (14:57 +0900)
When using boost's recursive_directory_iterator
Accessing to the iterator after remove file occur exception

Change-Id: If317b742f6eabe72bc6f14f3f38c646e5143dc53
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
src/common/step/filesystem/step_remove_user_data.cc

index 72d1fb3..d89e4df 100644 (file)
@@ -25,8 +25,10 @@ bool RemoveContents(const bf::path& path) {
     return true;
 
   for (bf::recursive_directory_iterator iter(path);
-      iter != bf::recursive_directory_iterator(); ++iter) {
-    if (!ci::RemoveAll(iter->path()))
+      iter != bf::recursive_directory_iterator(); ) {
+    bf::path file_path = iter->path();
+    ++iter;
+    if (!ci::RemoveAll(file_path))
       return false;
   }