From: Sangyoon Jang Date: Wed, 16 Jun 2021 09:09:18 +0000 (+0900) Subject: Fix StepRevmoeUserData X-Git-Tag: accepted/tizen/unified/20210621.214619~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F07%2F259907%2F2;p=platform%2Fcore%2Fappfw%2Fapp-installers.git 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 --- 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; }