aboutsummaryrefslogtreecommitdiff
path: root/bin/setfacl
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2012-09-04 11:50:13 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2012-09-04 11:50:13 +0000
commit8ed068d31ca83977ee5c6503e8a9fb6e1f938e4b (patch)
tree22c259435c9012031310cfa663067439ca79d69b /bin/setfacl
parent00b2b3a55dc4e16837ac70f6617d1151d437389e (diff)
downloadsrc-8ed068d31ca83977ee5c6503e8a9fb6e1f938e4b.tar.gz
src-8ed068d31ca83977ee5c6503e8a9fb6e1f938e4b.zip
Notes
Diffstat (limited to 'bin/setfacl')
-rw-r--r--bin/setfacl/setfacl.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/bin/setfacl/setfacl.c b/bin/setfacl/setfacl.c
index 41a37f21d10a..e1f3023e27d8 100644
--- a/bin/setfacl/setfacl.c
+++ b/bin/setfacl/setfacl.c
@@ -264,6 +264,17 @@ main(int argc, char *argv[])
need_mask = 1;
break;
case OP_REMOVE_EXT:
+ /*
+ * Don't try to call remove_ext() for empty
+ * default ACL.
+ */
+ if (acl_type == ACL_TYPE_DEFAULT &&
+ acl_get_entry(acl, ACL_FIRST_ENTRY,
+ &unused_entry) == 0) {
+ local_error += remove_default(&acl,
+ file->filename);
+ break;
+ }
remove_ext(&acl, file->filename);
need_mask = 0;
break;