aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-03-13 12:06:48 +0100
committerCorinna Vinschen <corinna@vinschen.de>2019-03-13 12:09:11 +0100
commit004d8adfa27232067aa67c2eb9aba0d29a11b2fd (patch)
tree386e9e4cb0be85cacea3a599e0185fa5663146b5
parent111b34bb1b1718e815ea95d19630cea4cab1ddf5 (diff)
downloadnewlib-004d8adfa27232067aa67c2eb9aba0d29a11b2fd.zip
newlib-004d8adfa27232067aa67c2eb9aba0d29a11b2fd.tar.gz
newlib-004d8adfa27232067aa67c2eb9aba0d29a11b2fd.tar.bz2
Cygwin: acls: allow converting empty acl to text
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/release/3.0.43
-rw-r--r--winsup/cygwin/sec_acl.cc4
2 files changed, 5 insertions, 2 deletions
diff --git a/winsup/cygwin/release/3.0.4 b/winsup/cygwin/release/3.0.4
index e6632f4..eeed283 100644
--- a/winsup/cygwin/release/3.0.4
+++ b/winsup/cygwin/release/3.0.4
@@ -14,3 +14,6 @@ Bug Fixes
- Fix access to process list
Addresses: https://cygwin.com/ml/cygwin/2019-03/msg00253.html
+
+- Fix acl_to_text/acl_to_any_text returning EINVAL on empty acl
+ Addresses: https://cygwin.com/ml/cygwin/2019-03/msg00157.html
diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc
index ce7910e..933bfa6 100644
--- a/winsup/cygwin/sec_acl.cc
+++ b/winsup/cygwin/sec_acl.cc
@@ -1638,8 +1638,8 @@ char *
__acltotext (aclent_t *aclbufp, int aclcnt, const char *prefix, char separator,
int options)
{
- if (!aclbufp || aclcnt < 1 || aclcnt > MAX_ACL_ENTRIES
- || aclsort32 (aclcnt, 0, aclbufp))
+ if (!aclbufp || aclcnt < 0 || aclcnt > MAX_ACL_ENTRIES
+ || (aclcnt > 0 && aclsort32 (aclcnt, 0, aclbufp)))
{
set_errno (EINVAL);
return NULL;