commit: 754b25e1b738fcff29b16148ef70408f28448532
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 5 17:28:08 2016 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Tue Apr 5 17:28:14 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=754b25e1
media-libs/imlib2: add upstream fix for gif oob reads #578810
media-libs/imlib2/files/imlib2-1.4.8-gif-oob.patch | 39 ++++++++++++++++++++++
...{imlib2-1.4.8.ebuild => imlib2-1.4.8-r1.ebuild} | 9 ++++-
2 files changed, 47 insertions(+), 1 deletion(-)
diff --git a/media-libs/imlib2/files/imlib2-1.4.8-gif-oob.patch
b/media-libs/imlib2/files/imlib2-1.4.8-gif-oob.patch
new file mode 100644
index 0000000..ed29757
--- /dev/null
+++ b/media-libs/imlib2/files/imlib2-1.4.8-gif-oob.patch
@@ -0,0 +1,39 @@
+From 16de244bd03d2f75da6508feb1ad9cb4e668e9dc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bernhard=20=C3=9Cbelacker?= <[email protected]>
+Date: Sat, 2 Apr 2016 13:05:21 -0400
+Subject: [PATCH] gif: fix oob reads w/bad colormaps
+
+Verify the color map is inbounds before indexing with it.
+
+https://bugs.debian.org/785369
+---
+ src/modules/loaders/loader_gif.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/loaders/loader_gif.c
b/src/modules/loaders/loader_gif.c
+index 638df59..7bdf29c 100644
+--- a/src/modules/loaders/loader_gif.c
++++ b/src/modules/loaders/loader_gif.c
+@@ -170,9 +170,16 @@ load(ImlibImage * im, ImlibProgressFunction progress,
char progress_granularity,
+ }
+ else
+ {
+- r = cmap->Colors[rows[i][j]].Red;
+- g = cmap->Colors[rows[i][j]].Green;
+- b = cmap->Colors[rows[i][j]].Blue;
++ if (rows[i][j] < cmap->ColorCount)
++ {
++ r = cmap->Colors[rows[i][j]].Red;
++ g = cmap->Colors[rows[i][j]].Green;
++ b = cmap->Colors[rows[i][j]].Blue;
++ }
++ else
++ {
++ r = g = b = 0;
++ }
+ *ptr++ = (0xff << 24) | (r << 16) | (g << 8) | b;
+ }
+ per += per_inc;
+--
+2.7.4
+
diff --git a/media-libs/imlib2/imlib2-1.4.8.ebuild
b/media-libs/imlib2/imlib2-1.4.8-r1.ebuild
similarity index 84%
rename from media-libs/imlib2/imlib2-1.4.8.ebuild
rename to media-libs/imlib2/imlib2-1.4.8-r1.ebuild
index 9856d98..76973db 100644
--- a/media-libs/imlib2/imlib2-1.4.8.ebuild
+++ b/media-libs/imlib2/imlib2-1.4.8-r1.ebuild
@@ -11,11 +11,13 @@ if [[ ${PV} != "9999" ]] ; then
EKEY_STATE="snap"
fi
-inherit enlightenment toolchain-funcs multilib-minimal
+inherit enlightenment toolchain-funcs multilib-minimal eutils
DESCRIPTION="Version 2 of an advanced replacement library for libraries like
libXpm"
HOMEPAGE="https://www.enlightenment.org/"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86
~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos
~x86-macos ~x64-solaris ~x86-solaris"
+
IUSE="bzip2 gif jpeg cpu_flags_x86_mmx cpu_flags_x86_sse2 mp3 png static-libs
tiff X zlib"
RDEPEND="=media-libs/freetype-2*[${MULTILIB_USEDEP}]
@@ -37,6 +39,11 @@ DEPEND="${RDEPEND}
>=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}]
)"
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gif-oob.patch #578810
+ enlightenment_src_prepare
+}
+
multilib_src_configure() {
# imlib2 has diff configure options for x86/amd64 assembly
if [[ $(tc-arch) == amd64 ]]; then