From 004d8adfa27232067aa67c2eb9aba0d29a11b2fd Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 13 Mar 2019 12:06:48 +0100 Subject: [PATCH] Cygwin: acls: allow converting empty acl to text Signed-off-by: Corinna Vinschen --- winsup/cygwin/release/3.0.4 | 3 +++ winsup/cygwin/sec_acl.cc | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/release/3.0.4 b/winsup/cygwin/release/3.0.4 index e6632f461..eeed28396 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 ce7910ed8..933bfa69d 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;