From a5d81afc71440ff782890abf1cf0986d724f42ac Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 10 Nov 2015 09:57:53 +0100 Subject: [PATCH] get_posix_access: Fix computation of effective user permissions * sec_acl.cc (get_posix_access): Fix computation of effective user permissions to handle current user, not only the file owner. Signed-off-by: Corinna Vinschen --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/sec_acl.cc | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index f4238de66..449112319 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2015-11-18 Corinna Vinschen + + * sec_acl.cc (get_posix_access): Fix computation of effective user + permissions to handle current user, not only the file owner. + 2015-11-18 Corinna Vinschen * fhandler_tty.cc (fhandler_pty_slave::open): Add S_IFCHR flag 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