From 9c736d01d9647d302f9011cc1db5e6e6b99c70b7 Mon Sep 17 00:00:00 2001 From: Timo Teräs Date: Tue, 9 Feb 2016 16:54:10 +0200 Subject: archive: fix long symlink target names don't overwrite the link_target if it was found from pax header. ref #5076 --- src/archive.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/archive.c b/src/archive.c index ecb276a..e86a53a 100644 --- a/src/archive.c +++ b/src/archive.c @@ -258,11 +258,11 @@ int apk_tar_parse(struct apk_istream *is, apk_archive_entry_parser parser, break; case '1': /* hard link */ entry.mode |= S_IFREG; - entry.link_target = buf.linkname; + if (!entry.link_target) entry.link_target = buf.linkname; break; case '2': /* symbolic link */ entry.mode |= S_IFLNK; - entry.link_target = buf.linkname; + if (!entry.link_target) entry.link_target = buf.linkname; if (entry.csum.type == APK_CHECKSUM_NONE && soft_checksums) { EVP_Digest(buf.linkname, strlen(buf.linkname), entry.csum.data, NULL, -- cgit v1.2.3-70-g09d2