aboutsummaryrefslogtreecommitdiff
path: root/archival
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2015-10-22 13:38:09 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2015-10-22 13:38:09 +0200
commit537389cedd3acaf658c73ec4e36a40db00a5a92f (patch)
tree9cf5b9f6ce4b50b72dadebd1b2e98bd0cefd60ba /archival
parentf167e4503d08561054e75deb2ff123be2b30afa5 (diff)
downloadbusybox-537389cedd3acaf658c73ec4e36a40db00a5a92f.tar.gz
tar: fix files skipped with --strip_components not resetting selinux context
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival')
-rw-r--r--archival/libarchive/data_extract_all.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/archival/libarchive/data_extract_all.c b/archival/libarchive/data_extract_all.c
index cf821c9de..bd034afdc 100644
--- a/archival/libarchive/data_extract_all.c
+++ b/archival/libarchive/data_extract_all.c
@@ -8,7 +8,6 @@
void FAST_FUNC data_extract_all(archive_handle_t *archive_handle)
{
-
file_header_t *file_header = archive_handle->file_header;
int dst_fd;
int res;
@@ -44,7 +43,7 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle)
dst_name = strchr(dst_name, '/');
if (!dst_name || dst_name[1] == '\0') {
data_skip(archive_handle);
- return;
+ goto ret;
}
dst_name++;
/*
@@ -60,7 +59,7 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle)
hard_link = strchr(hard_link, '/');
if (!hard_link || hard_link[1] == '\0') {
data_skip(archive_handle);
- return;
+ goto ret;
}
hard_link++;
}