summaryrefslogtreecommitdiffstats
path: root/winsup/utils/setfacl.c
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-04-18 10:23:21 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-04-18 10:23:21 +0000
commit1122b3e64e8ebca2b29b1e6e3e34bc6dc4dcc6d4 (patch)
tree22063183b7778eab8c30f668b02f4416cc829dfd /winsup/utils/setfacl.c
parent2d077d7c6df0dabf121b75b1493eb2d22f845b6e (diff)
downloadcygnal-1122b3e64e8ebca2b29b1e6e3e34bc6dc4dcc6d4.tar.gz
cygnal-1122b3e64e8ebca2b29b1e6e3e34bc6dc4dcc6d4.tar.bz2
cygnal-1122b3e64e8ebca2b29b1e6e3e34bc6dc4dcc6d4.zip
* setfacl.c (getaclentry): Allow extra colon in mask and other entries.
Diffstat (limited to 'winsup/utils/setfacl.c')
-rw-r--r--winsup/utils/setfacl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/winsup/utils/setfacl.c b/winsup/utils/setfacl.c
index 35689890c..d9d645d3c 100644
--- a/winsup/utils/setfacl.c
+++ b/winsup/utils/setfacl.c
@@ -111,7 +111,11 @@ getaclentry (action_t action, char *c, aclent_t *ace)
/* If this is a user or group entry, check if next char is a colon char.
If so, skip it, otherwise it's the name of a user or group. */
if (!(ace->a_type & (USER_OBJ | GROUP_OBJ)))
- ;
+ {
+ /* Mask and other entries may contain an extra colon. */
+ if (*c == ':')
+ ++c;
+ }
else if (*c == ':')
++c;
else if (*c)