commit: a7f93abca481c4afc0d6e0c515d41f2c4aef9e41 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org> AuthorDate: Sun May 3 19:54:53 2015 +0000 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org> CommitDate: Sun May 3 19:54:53 2015 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=a7f93abc
Fix for lz4 compression. Thanks to Christian Xia. See bug #546422. 0000_README | 4 ++++ 2910_lz4-compression-fix.patch | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/0000_README b/0000_README index bcce967..f51d299 100644 --- a/0000_README +++ b/0000_README @@ -71,6 +71,10 @@ Patch: 2905_s2disk-resume-image-fix.patch From: Al Viro <viro <at> ZenIV.linux.org.uk> Desc: Do not lock when UMH is waiting on current thread spawned by linuxrc. (bug #481344) +Patch: 2910_lz4-compression-fix.patch +From: https://bugs.gentoo.org/show_bug.cgi?id=546422 +Desc: Fix for lz4 compression regression. Thanks to Christian Xia. See bug #546422. + Patch: 4200_fbcondecor-3.19.patch From: http://www.mepiscommunity.org/fbcondecor Desc: Bootsplash ported by Marco. (Bug #539616) diff --git a/2910_lz4-compression-fix.patch b/2910_lz4-compression-fix.patch new file mode 100644 index 0000000..1c55f32 --- /dev/null +++ b/2910_lz4-compression-fix.patch @@ -0,0 +1,30 @@ +--- a/lib/lz4/lz4_decompress.c 2015-04-13 16:20:04.896315560 +0800 ++++ b/lib/lz4/lz4_decompress.c 2015-04-13 16:27:08.929317053 +0800 +@@ -139,8 +139,12 @@ + /* Error: request to write beyond destination buffer */ + if (cpy > oend) + goto _output_error; ++#if LZ4_ARCH64 ++ if ((ref + COPYLENGTH) > oend) ++#else + if ((ref + COPYLENGTH) > oend || + (op + COPYLENGTH) > oend) ++#endif + goto _output_error; + LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH)); + while (op < cpy) +@@ -270,7 +274,13 @@ + if (cpy > oend - COPYLENGTH) { + if (cpy > oend) + goto _output_error; /* write outside of buf */ +- ++#if LZ4_ARCH64 ++ if ((ref + COPYLENGTH) > oend) ++#else ++ if ((ref + COPYLENGTH) > oend || ++ (op + COPYLENGTH) > oend) ++#endif ++ goto _output_error; + LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH)); + while (op < cpy) + *op++ = *ref++;