diff options
author | Ross Burton <ross.burton@intel.com> | 2018-07-25 21:55:17 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-30 12:44:35 +0100 |
commit | ebe85aa97869ac0a69fd77190ab2e0c54e90106f (patch) | |
tree | 58ac1b97d40907803c3ad4aab2aa044631eb49b3 /meta | |
parent | 119a860e0f9b7d1a5b061f8212c9c92b6a67814c (diff) | |
download | poky-ebe85aa97869ac0a69fd77190ab2e0c54e90106f.tar.gz |
unzip: fix symlink problem
Large zip files can cause unzip to crash, take a patch from Fedora to fix it.
(From OE-Core rev: a001833b7c7a0a6eef88e053fe65e2a0c91ca7bc)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-extended/unzip/unzip/symlink.patch | 26 | ||||
-rw-r--r-- | meta/recipes-extended/unzip/unzip_6.0.bb | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/meta/recipes-extended/unzip/unzip/symlink.patch b/meta/recipes-extended/unzip/unzip/symlink.patch new file mode 100644 index 0000000000..a38f6f1612 --- /dev/null +++ b/meta/recipes-extended/unzip/unzip/symlink.patch | |||
@@ -0,0 +1,26 @@ | |||
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() */ | ||
diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb index 105d048f55..dbf4112a4c 100644 --- a/meta/recipes-extended/unzip/unzip_6.0.bb +++ b/meta/recipes-extended/unzip/unzip_6.0.bb | |||
@@ -19,6 +19,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/ | |||
19 | file://fix-security-format.patch \ | 19 | file://fix-security-format.patch \ |
20 | file://18-cve-2014-9913-unzip-buffer-overflow.patch \ | 20 | file://18-cve-2014-9913-unzip-buffer-overflow.patch \ |
21 | file://19-cve-2016-9844-zipinfo-buffer-overflow.patch \ | 21 | file://19-cve-2016-9844-zipinfo-buffer-overflow.patch \ |
22 | file://symlink.patch \ | ||
22 | " | 23 | " |
23 | UPSTREAM_VERSION_UNKNOWN = "1" | 24 | UPSTREAM_VERSION_UNKNOWN = "1" |
24 | 25 | ||