diff options
Diffstat (limited to 'bin/ls/print.c')
| -rw-r--r-- | bin/ls/print.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/ls/print.c b/bin/ls/print.c index 841270bbb2e9..2fab63a37de5 100644 --- a/bin/ls/print.c +++ b/bin/ls/print.c @@ -674,6 +674,14 @@ aclmode(char *buf, FTSENT *p, int *haveacls) else snprintf(name, sizeof(name), "%s/%s", p->fts_parent->fts_accpath, p->fts_name); + /* + * We have no way to tell whether a symbolic link has an ACL since + * pathconf() and acl_get_file() both follow them. + */ + if (S_ISLNK(p->fts_statp->st_mode)) { + *haveacls = 1; + return; + } if ((ret = pathconf(name, _PC_ACL_EXTENDED)) <= 0) { if (ret < 0 && errno != EINVAL) warn("%s", name); |
