summaryrefslogtreecommitdiff
path: root/archival/libarchive
diff options
context:
space:
mode:
authorDenys Vlasenko2018-04-13 13:26:33 +0200
committerDenys Vlasenko2018-04-13 13:27:52 +0200
commitdd56921e2d404c8fc9484290a36411a13d14df1a (patch)
tree2106889f02016f67a38088b62920a7092a1632ab /archival/libarchive
parent266f6f19732f9b35487a87a346e58c1c3a0af43d (diff)
downloadbusybox-dd56921e2d404c8fc9484290a36411a13d14df1a.zip
busybox-dd56921e2d404c8fc9484290a36411a13d14df1a.tar.gz
dpkg: fix symlink creation, closes 10941
function old new delta get_header_ar 434 442 +8 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival/libarchive')
-rw-r--r--archival/libarchive/get_header_ar.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/archival/libarchive/get_header_ar.c b/archival/libarchive/get_header_ar.c
index 93e071c..a979706 100644
--- a/archival/libarchive/get_header_ar.c
+++ b/archival/libarchive/get_header_ar.c
@@ -127,8 +127,10 @@ char FAST_FUNC get_header_ar(archive_handle_t *archive_handle)
archive_handle->action_header(typed);
#if ENABLE_DPKG || ENABLE_DPKG_DEB
if (archive_handle->dpkg__sub_archive) {
- while (archive_handle->dpkg__action_data_subarchive(archive_handle->dpkg__sub_archive) == EXIT_SUCCESS)
+ struct archive_handle_t *sa = archive_handle->dpkg__sub_archive;
+ while (archive_handle->dpkg__action_data_subarchive(sa) == EXIT_SUCCESS)
continue;
+ create_symlinks_from_list(sa->symlink_placeholders);
} else
#endif
archive_handle->action_data(archive_handle);