Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-03-13 14:06:48 +0300
committerCorinna Vinschen <corinna@vinschen.de>2019-03-13 14:09:11 +0300
commit004d8adfa27232067aa67c2eb9aba0d29a11b2fd (patch)
tree386e9e4cb0be85cacea3a599e0185fa5663146b5
parent111b34bb1b1718e815ea95d19630cea4cab1ddf5 (diff)
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 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;