diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2002-11-25 11:23:21 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2002-11-25 11:23:21 +0000 |
commit | f1da8a066438b2323253e11b10a4037205c1b3c2 (patch) | |
tree | c73330658c3d3eadfe850718179a2ce949ee7d51 | |
parent | 19f209011a58c2694690b88c8be85fd029f1a88f (diff) | |
download | newlib-f1da8a066438b2323253e11b10a4037205c1b3c2.zip newlib-f1da8a066438b2323253e11b10a4037205c1b3c2.tar.gz newlib-f1da8a066438b2323253e11b10a4037205c1b3c2.tar.bz2 |
* sec_acl.cc (getacl): Set errno to ENOSPC if command is GETACL and
nentries is less than the number of entries in the file's ACL.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/sec_acl.cc | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 93903fd..53caea2 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2002-11-25 Corinna Vinschen <corinna@vinschen.de> + + * sec_acl.cc (getacl): Set errno to ENOSPC if command is GETACL and + nentries is less than the number of entries in the file's ACL. + 2002-11-24 Corinna Vinschen <corinna@vinschen.de> * sec_acl.cc: Fix some formatting. Only set and check `other' bits in diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc index 43f3012..51ac035 100644 --- a/winsup/cygwin/sec_acl.cc +++ b/winsup/cygwin/sec_acl.cc @@ -380,7 +380,10 @@ getacl (const char *file, DWORD attr, int nentries, __aclent16_t *aclbufp) if (EqualSid (owner_sid, group_sid)) lacl[0].a_perm = lacl[1].a_perm; if (pos > nentries) - pos = nentries; + { + set_errno (ENOSPC); + return -1; + } memcpy (aclbufp, lacl, pos * sizeof (__aclent16_t)); for (i = 0; i < pos; ++i) aclbufp[i].a_perm &= ~(DENY_R | DENY_W | DENY_X); |