diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index 741fdb362..97323d0bf 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,9 @@ +2014-09-03 Corinna Vinschen + + * setfacl.c (getaclentry): Fix return value in case of a lone 'm' if + action is Delete. Drop requirement for a trailing colon if action is + Delete. + 2014-08-31 Corinna Vinschen * setfacl.c (usage): Drop outdated note that default ACEs are not diff --git a/winsup/utils/setfacl.c b/winsup/utils/setfacl.c index 56c83fee7..a3b2226c3 100644 --- a/winsup/utils/setfacl.c +++ b/winsup/utils/setfacl.c @@ -108,8 +108,8 @@ getaclentry (action_t action, char *c, aclent_t *ace) return FALSE; /* Skip to next field. */ c = c2; - if (!*c && action != Delete) - return FALSE; + if (!*c) + return action == Delete && (ace->a_type & CLASS_OBJ); /* 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))) @@ -131,8 +131,6 @@ getaclentry (action_t action, char *c, aclent_t *ace) *c2++ = '\0'; else if (action != Delete) return FALSE; - else if (!(ace->a_type & ACL_DEFAULT)) - return FALSE; /* Fetch user/group id. */ if (isdigit ((unsigned char) *c)) {