summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2004-04-10 20:18:11 +0000
committerCorinna Vinschen <corinna@vinschen.de>2004-04-10 20:18:11 +0000
commitbb0906507ba558dd43002f7ff1faa7a75c395c82 (patch)
tree5bce09e6f486107c7ede5981ae027b967f366705
parent7224437c6270910a02646147149aaa97de145217 (diff)
downloadcygnal-bb0906507ba558dd43002f7ff1faa7a75c395c82.tar.gz
cygnal-bb0906507ba558dd43002f7ff1faa7a75c395c82.tar.bz2
cygnal-bb0906507ba558dd43002f7ff1faa7a75c395c82.zip
* sec_acl.cc (setacl): Use correct offset when trying to combine
standard and default entry of same type.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/sec_acl.cc4
2 files changed, 7 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 2af256725..ba99bbf18 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_acl.cc (setacl): Use correct offset when trying to combine
+ standard and default entry of same type.
+
2004-04-10 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler.cc (rootdir): Add and use second argument.
diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc
index 7bcf36cb4..dc2473e9e 100644
--- a/winsup/cygwin/sec_acl.cc
+++ b/winsup/cygwin/sec_acl.cc
@@ -142,11 +142,11 @@ setacl (const char *file, int nentries, __aclent32_t *aclbufp)
aclbufp[i].a_type | ACL_DEFAULT,
(aclbufp[i].a_type & (USER|GROUP))
? aclbufp[i].a_id : ILLEGAL_UID)) >= 0
- && aclbufp[i].a_perm == aclbufp[pos].a_perm)
+ && aclbufp[i].a_perm == aclbufp[i + 1 + pos].a_perm)
{
inheritance = SUB_CONTAINERS_AND_OBJECTS_INHERIT;
/* This invalidates the corresponding default entry. */
- aclbufp[pos].a_type = USER|GROUP|ACL_DEFAULT;
+ aclbufp[i + 1 + pos].a_type = USER|GROUP|ACL_DEFAULT;
}
switch (aclbufp[i].a_type)
{