Set ownership of shared data dir properly when update 59/177059/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Wed, 25 Apr 2018 05:07:01 +0000 (14:07 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Wed, 25 Apr 2018 05:07:01 +0000 (14:07 +0900)
Change-Id: Iab4b7e3a2581ee84b7d63f3e4a24fbd769e7d851
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/common/shared_dirs.cc

index 786089f..795a3aa 100644 (file)
@@ -623,6 +623,12 @@ bool UpdateUserDirectory(const std::string& pkgid, bool is_remove_shareddata) {
       gid_t gid = std::get<1>(l);
       if (!SetDirectoryOwnerAndPermissions(root_dst, uid, gid))
         return false;
+      for (bf::recursive_directory_iterator iter(root_dst);
+          iter != bf::recursive_directory_iterator(); ++iter) {
+        if (!SetDirectoryOwnerAndPermissions(iter->path(),
+            uid, gid))
+          return false;
+      }
 
       std::string error_message;
       if (!RegisterSecurityContextForPath(pkgid, root_dst, uid,