diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-11-10 11:57:53 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-11-10 11:57:53 +0300 |
commit | 0fbc4d7589fe197af1fc8d625e7ea4b9b15444af (patch) | |
tree | ab96505b3629c39404dd79a96c9914cf4033fb86 | |
parent | fb31be77eb71c4abed51cb8f549c31aedc52f7c1 (diff) |
get_posix_access: Fix testing owner in every merge loop only
* sec_acl.cc (get_posix_access): Call authz_get_user_attribute on
current users, not on owner.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/sec_acl.cc | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 24a795c3f..2f09ad475 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2015-11-10 Corinna Vinschen <corinna@vinschen.de> + + * sec_acl.cc (get_posix_access): Call authz_get_user_attribute on + current users, not on owner. + 2015-11-05 Corinna Vinschen <corinna@vinschen.de> * mount.cc (fs_info::update): Fake a serial number on filesystems not diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc index ec6aa7f20..a9e1dea5f 100644 --- a/winsup/cygwin/sec_acl.cc +++ b/winsup/cygwin/sec_acl.cc @@ -1023,8 +1023,8 @@ get_posix_access (PSECURITY_DESCRIPTOR psd, user permissions are correctly reflecting the Windows permissions. */ if (cygheap->pg.nss_pwd_db () - && authz_get_user_attribute (&perm, psd, owner_sid)) - lacl[0].a_perm = perm; + && authz_get_user_attribute (&perm, psd, aclsid[idx])) + lacl[idx].a_perm = perm; /* Otherwise we only check the current user. If the user entry has a deny ACE, don't check. */ else if (lacl[idx].a_id == myself->uid |