summaryrefslogtreecommitdiff
path: root/libarchive/archive_acl.c
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@acm.org>2016-09-04 16:08:26 -0700
committerTim Kientzle <kientzle@acm.org>2016-09-04 16:08:26 -0700
commitf8d2cc0920e5287308a6164b63628c93443dcd25 (patch)
tree1b09843757d71dc17affd29e0244f3396aa8dcbc /libarchive/archive_acl.c
parenta847b45528d7f5476380e31cc22ea6a5d85435bf (diff)
downloadlibarchive-f8d2cc0920e5287308a6164b63628c93443dcd25.tar.gz
Test for PR#777: verify ACL reading during directory walks
This verifies the issue mentioned in Pull Request #777: When using archive_read_disk to read a directory tree, libarchive would attempt to read ACLs with the wrong directory.
Diffstat (limited to 'libarchive/archive_acl.c')
-rw-r--r--libarchive/archive_acl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libarchive/archive_acl.c b/libarchive/archive_acl.c
index bf4b6104..d128920a 100644
--- a/libarchive/archive_acl.c
+++ b/libarchive/archive_acl.c
@@ -707,10 +707,11 @@ archive_acl_text_l(struct archive_acl *acl, int flags,
if (r != 0)
return (-1);
*p++ = separator;
- if (flags & ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID)
+ if (name == NULL || (flags & ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID)) {
id = ap->id;
- else
+ } else {
id = -1;
+ }
append_entry(&p, NULL, ap->tag, name,
ap->permset, id);
count++;