Brad Bishop | 220d553 | 2018-08-14 00:59:39 +0100 | [diff] [blame] | 1 | Unzip doesn't handle large zip files well and crashes: |
| 2 | |
| 3 | "This only happens if you have more then 16k entries and when one of |
| 4 | the 16k entry infos is reused it happend to be previously used for |
| 5 | a symlink entry." |
| 6 | |
| 7 | This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427) |
| 8 | |
| 9 | Upstream-Status: Pending (upstream is dead) |
| 10 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
| 11 | |
| 12 | --- unzip60/process.c.sav 2013-06-09 12:08:57.070392264 +0200 |
| 13 | +++ unzip60/process.c 2013-06-09 12:10:08.641696988 +0200 |
| 14 | @@ -1751,6 +1751,12 @@ |
| 15 | = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11); |
| 16 | #endif |
| 17 | |
| 18 | +#ifdef SYMLINKS |
| 19 | + /* Initialize the symlink flag, may be set by the platform-specific |
| 20 | + mapattr function. */ |
| 21 | + G.pInfo->symlink = 0; |
| 22 | +#endif |
| 23 | + |
| 24 | return PK_COOL; |
| 25 | |
| 26 | } /* end function process_cdir_file_hdr() */ |