From: Denys Vlasenko Date: Sat, 20 Jul 2013 13:20:46 +0000 (+0200) Subject: unzip: increase PEEK_FROM_END from 16k to 64k X-Git-Tag: 1_22_0~148 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5e87e8aebb60bc87d3dd6e07814c7c3b0e8dbbb2;p=oweals%2Fbusybox.git unzip: increase PEEK_FROM_END from 16k to 64k Signed-off-by: Denys Vlasenko --- diff --git a/archival/unzip.c b/archival/unzip.c index e4c824850..c250d7555 100644 --- a/archival/unzip.c +++ b/archival/unzip.c @@ -163,7 +163,14 @@ enum { zip_fd = 3 }; #if ENABLE_DESKTOP -#define PEEK_FROM_END 16384 +/* Seen in the wild: + * Self-extracting PRO2K3XP_32.exe contains 19078464 byte zip archive, + * where CDE was nearly 48 kbytes before EOF. + * (Surprisingly, it also apparently has *another* CDE structure + * closer to the end, with bogus cdf_offset). + * To make extraction work, bumped PEEK_FROM_END from 16k to 64k. + */ +#define PEEK_FROM_END (64*1024) /* NB: does not preserve file position! */ static uint32_t find_cdf_offset(void)