summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bin/setfacl/setfacl.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/bin/setfacl/setfacl.c b/bin/setfacl/setfacl.c
index b86dbb1..2286efb 100644
--- a/bin/setfacl/setfacl.c
+++ b/bin/setfacl/setfacl.c
@@ -245,10 +245,13 @@ main(int argc, char *argv[])
continue;
}
- if (acl_type == ACL_TYPE_ACCESS)
+ if (acl_type == ACL_TYPE_ACCESS) {
final_acl = acl[ACCESS_ACL];
- else
+ acl_free(acl[DEFAULT_ACL]);
+ } else {
final_acl = acl[DEFAULT_ACL];
+ acl_free(acl[ACCESS_ACL]);
+ }
if (need_mask && (set_acl_mask(&final_acl) == -1)) {
warnx("failed to set ACL mask on %s", file->filename);
@@ -269,8 +272,7 @@ main(int argc, char *argv[])
}
}
- acl_free(acl[ACCESS_ACL]);
- acl_free(acl[DEFAULT_ACL]);
+ acl_free(final_acl);
free(acl);
}
OpenPOWER on IntegriCloud