summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2015-09-14 15:30:37 -0400
committerIan Stakenvicius <axs@gentoo.org>2015-09-14 15:39:44 -0400
commite44233b3de61851f504ee94f8b2c526d6ec200af (patch)
tree1529592c5a748cc32cd9becbf628fd8db0a14161
parenteclass: Add innodb-snappy USE for >=mariadb-10.1.7 to mysql-{cmake,multilib}.... (diff)
downloadgentoo-e44233b3de61851f504ee94f8b2c526d6ec200af.tar.gz
gentoo-e44233b3de61851f504ee94f8b2c526d6ec200af.tar.bz2
gentoo-e44233b3de61851f504ee94f8b2c526d6ec200af.zip
x11-misc/slim: fix pointer arithmetic error
While addressing bug 560088 related to consolekit-1.0, it was found that some pointer arithmetic being used in a malloc and memcpy was wrong and was causing a malloc corruption error. This patch addresses the out-of-bounds indexing. Package-Manager: portage-2.2.20.1
-rw-r--r--x11-misc/slim/files/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch15
-rw-r--r--x11-misc/slim/slim-1.3.6-r5.ebuild (renamed from x11-misc/slim/slim-1.3.6-r4.ebuild)25
2 files changed, 28 insertions, 12 deletions
diff --git a/x11-misc/slim/files/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch b/x11-misc/slim/files/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch
new file mode 100644
index 000000000000..b3787dd58459
--- /dev/null
+++ b/x11-misc/slim/files/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch
@@ -0,0 +1,15 @@
+--- a/app.cpp 2015-09-14 12:00:00.460481656 -0400
++++ b/app.cpp 2015-09-14 14:41:10.970536588 -0400
+@@ -606,9 +606,9 @@
+
+ n++;
+
+- child_env = static_cast<char**>(malloc(sizeof(char*)*n));
+- memcpy(child_env, old_env, sizeof(char*)*n+1);
+- child_env[n - 1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie());
++ child_env = static_cast<char**>(malloc(sizeof(char*)*(n+1)));
++ memcpy(child_env, old_env, sizeof(char*)*n);
++ child_env[n-1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie());
+ child_env[n] = NULL;
+ }
+ # endif /* USE_CONSOLEKIT */
diff --git a/x11-misc/slim/slim-1.3.6-r4.ebuild b/x11-misc/slim/slim-1.3.6-r5.ebuild
index 728b2f4c5ad7..2fdeebede09e 100644
--- a/x11-misc/slim/slim-1.3.6-r4.ebuild
+++ b/x11-misc/slim/slim-1.3.6-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -36,17 +36,18 @@ PDEPEND="branding? ( >=x11-themes/slim-themes-1.2.3a-r3 )"
src_prepare() {
# Our Gentoo-specific config changes
- epatch "${FILESDIR}"/${P}-config.diff
- epatch "${FILESDIR}"/${PN}-1.3.5-arm.patch
- epatch "${FILESDIR}"/${P}-honour-cflags.patch
- epatch "${FILESDIR}"/${P}-libslim-cmake-fixes.patch
- epatch "${FILESDIR}"/${PN}-1.3.5-disable-ck-for-systemd.patch
- epatch "${FILESDIR}"/${P}-strip-systemd-unit-install.patch
- epatch "${FILESDIR}"/${P}-systemd-session.patch
- epatch "${FILESDIR}"/${P}-session-chooser.patch
- epatch "${FILESDIR}"/${P}-fix-slimlock-nopam-v2.patch
- epatch "${FILESDIR}"/${P}-drop-zlib.patch
- epatch "${FILESDIR}"/${P}-freetype.patch
+ epatch "${FILESDIR}"/${P}-config.diff \
+ "${FILESDIR}"/${PN}-1.3.5-arm.patch \
+ "${FILESDIR}"/${P}-honour-cflags.patch \
+ "${FILESDIR}"/${P}-libslim-cmake-fixes.patch \
+ "${FILESDIR}"/${PN}-1.3.5-disable-ck-for-systemd.patch \
+ "${FILESDIR}"/${P}-strip-systemd-unit-install.patch \
+ "${FILESDIR}"/${P}-systemd-session.patch \
+ "${FILESDIR}"/${P}-session-chooser.patch \
+ "${FILESDIR}"/${P}-fix-slimlock-nopam-v2.patch \
+ "${FILESDIR}"/${P}-drop-zlib.patch \
+ "${FILESDIR}"/${P}-freetype.patch \
+ "${FILESDIR}"/${P}-envcpy-bad-pointer-arithmetic.patch
if use elibc_FreeBSD; then
sed -i -e 's/"-DHAVE_SHADOW"/"-DNEEDS_BASENAME"/' CMakeLists.txt \