summaryrefslogtreecommitdiff
authorDenys Vlasenko <vda.linux@googlemail.com>2016-06-21 00:04:16 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2016-06-21 00:04:16 (GMT)
commit10c0e9178606bb71a071c27dcda3fd2787e8303b (patch)
treedf839b6678a843ee7668ab55d6b51120d322f7b5
parent7cf45ae10e71d11ca53e7b0220c76562a8045113 (diff)
downloadbusybox-10c0e9178606bb71a071c27dcda3fd2787e8303b.zip
busybox-10c0e9178606bb71a071c27dcda3fd2787e8303b.tar.gz
busybox-10c0e9178606bb71a071c27dcda3fd2787e8303b.tar.bz2
libarchive: fix xmalloc_open_zipped_read_close()
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat
-rw-r--r--archival/libarchive/open_transformer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/archival/libarchive/open_transformer.c b/archival/libarchive/open_transformer.c
index a3018d9..ac7e5db 100644
--- a/archival/libarchive/open_transformer.c
+++ b/archival/libarchive/open_transformer.c
@@ -331,6 +331,9 @@ void* FAST_FUNC xmalloc_open_zipped_read_close(const char *fname, size_t *maxsz_
}
} else {
/* File is not compressed */
+//FIXME: avoid seek
+ xlseek(xstate->src_fd, - xstate->signature_skipped, SEEK_CUR);
+ xstate->signature_skipped = 0;
image = xmalloc_read(xstate->src_fd, maxsz_p);
}