From: Denys Vlasenko Date: Thu, 22 Oct 2015 11:38:09 +0000 (+0200) Subject: tar: fix files skipped with --strip_components not resetting selinux context X-Git-Tag: 1_25_0~218 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=537389cedd3acaf658c73ec4e36a40db00a5a92f;p=oweals%2Fbusybox.git tar: fix files skipped with --strip_components not resetting selinux context Signed-off-by: Denys Vlasenko --- 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++; }