summaryrefslogtreecommitdiffhomepage
path: root/archival/libarchive/get_header_ar.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-04-13 13:26:33 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2018-04-13 13:27:52 +0200
commitdd56921e2d404c8fc9484290a36411a13d14df1a (patch)
tree2106889f02016f67a38088b62920a7092a1632ab /archival/libarchive/get_header_ar.c
parent266f6f19732f9b35487a87a346e58c1c3a0af43d (diff)
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/get_header_ar.c')
-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 93e071c9f..a97970630 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);