From 9b6f963246f8360d4dc8b3690cc031846512a152 Mon Sep 17 00:00:00 2001 From: jongmyeongko Date: Fri, 3 Jun 2016 14:20:09 +0900 Subject: [PATCH] change 'chown' to 'fchown'. Change-Id: Ied38b55a07606600d4a1adce96e2ffa2675d364d Signed-off-by: jongmyeongko --- src/common/shared_dirs.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/common/shared_dirs.cc b/src/common/shared_dirs.cc index 01c4094..6c485e9 100644 --- a/src/common/shared_dirs.cc +++ b/src/common/shared_dirs.cc @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -161,7 +162,13 @@ bool SetPackageDirectoryOwnerAndPermissions(const bf::path& subpath, uid_t uid, LOG(ERROR) << "Failed to set permissions for: " << subpath; return false; } - int ret = chown(subpath.c_str(), uid, gid); + int fd = open(subpath.c_str(), O_RDONLY); + if (fd < 0) { + LOG(ERROR) << "Can't open directory : " << subpath; + return false; + } + int ret = fchown(fd, uid, gid); + close(fd); if (ret != 0) { LOG(ERROR) << "Failed to change owner of: " << subpath; return false; -- 2.7.4