summaryrefslogtreecommitdiffhomepage
path: root/archival
diff options
context:
space:
mode:
Diffstat (limited to 'archival')
-rw-r--r--archival/unzip.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/archival/unzip.c b/archival/unzip.c
index 7b47a8ab8..4201d1dd2 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -208,7 +208,8 @@ static uint32_t read_next_cds(int count_m1, uint32_t cds_offset, cds_header_t *c
static void unzip_skip(off_t skip)
{
- bb_copyfd_exact_size(zip_fd, -1, skip);
+ if (lseek(zip_fd, skip, SEEK_CUR) == (off_t)-1)
+ bb_copyfd_exact_size(zip_fd, -1, skip);
}
static void unzip_create_leading_dirs(const char *fn)