diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2013-07-20 15:20:46 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2013-07-20 15:20:46 +0200 |
commit | 5e87e8aebb60bc87d3dd6e07814c7c3b0e8dbbb2 (patch) | |
tree | 689dfe8b9b6f648f6e33e87914e521dbe771a6f6 | |
parent | a7ecbed56bb620a0e8cd79372886d0fdfeb362c8 (diff) | |
download | busybox-w32-5e87e8aebb60bc87d3dd6e07814c7c3b0e8dbbb2.tar.gz busybox-w32-5e87e8aebb60bc87d3dd6e07814c7c3b0e8dbbb2.tar.bz2 busybox-w32-5e87e8aebb60bc87d3dd6e07814c7c3b0e8dbbb2.zip |
unzip: increase PEEK_FROM_END from 16k to 64k
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | archival/unzip.c | 9 |
1 files changed, 8 insertions, 1 deletions
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 }; | |||
163 | 163 | ||
164 | #if ENABLE_DESKTOP | 164 | #if ENABLE_DESKTOP |
165 | 165 | ||
166 | #define PEEK_FROM_END 16384 | 166 | /* Seen in the wild: |
167 | * Self-extracting PRO2K3XP_32.exe contains 19078464 byte zip archive, | ||
168 | * where CDE was nearly 48 kbytes before EOF. | ||
169 | * (Surprisingly, it also apparently has *another* CDE structure | ||
170 | * closer to the end, with bogus cdf_offset). | ||
171 | * To make extraction work, bumped PEEK_FROM_END from 16k to 64k. | ||
172 | */ | ||
173 | #define PEEK_FROM_END (64*1024) | ||
167 | 174 | ||
168 | /* NB: does not preserve file position! */ | 175 | /* NB: does not preserve file position! */ |
169 | static uint32_t find_cdf_offset(void) | 176 | static uint32_t find_cdf_offset(void) |