summaryrefslogtreecommitdiff
path: root/lib/libarchive/archive_read_extract.c
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@FreeBSD.org>2004-06-17 03:09:06 +0000
committerTim Kientzle <kientzle@FreeBSD.org>2004-06-17 03:09:06 +0000
commit9ad66a1eed010e86f57f1178be6b5af22389e466 (patch)
tree4e2d4e89de49d5e9e06912a4bc954fd4492a2d76 /lib/libarchive/archive_read_extract.c
parent9896c5f11aee6e72e10b57e35c350b6bb91abeaa (diff)
Notes
Diffstat (limited to 'lib/libarchive/archive_read_extract.c')
-rw-r--r--lib/libarchive/archive_read_extract.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libarchive/archive_read_extract.c b/lib/libarchive/archive_read_extract.c
index d313105ade80..8bb75a60fcb2 100644
--- a/lib/libarchive/archive_read_extract.c
+++ b/lib/libarchive/archive_read_extract.c
@@ -336,7 +336,9 @@ archive_read_extract_regular(struct archive *a, struct archive_entry *entry,
}
set_ownership(a, entry, flags);
set_time(a, entry, flags);
- set_perm(a, entry, archive_entry_mode(entry), flags);
+ /* Always restore permissions for regular files. */
+ set_perm(a, entry, archive_entry_mode(entry),
+ flags | ARCHIVE_EXTRACT_PERM);
set_extended_perm(a, entry, flags);
close(fd);
return (r);