summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/unzip/unzip
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-07-25 21:55:17 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-07-30 12:44:35 +0100
commitebe85aa97869ac0a69fd77190ab2e0c54e90106f (patch)
tree58ac1b97d40907803c3ad4aab2aa044631eb49b3 /meta/recipes-extended/unzip/unzip
parent119a860e0f9b7d1a5b061f8212c9c92b6a67814c (diff)
downloadpoky-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/recipes-extended/unzip/unzip')
-rw-r--r--meta/recipes-extended/unzip/unzip/symlink.patch26
1 files changed, 26 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 @@
1Unzip 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
4the 16k entry infos is reused it happend to be previously used for
5a symlink entry."
6
7This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427)
8
9Upstream-Status: Pending (upstream is dead)
10Signed-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() */