commit:     e44233b3de61851f504ee94f8b2c526d6ec200af
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 14 19:30:37 2015 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Mon Sep 14 19:39:44 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e44233b3

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

 .../slim-1.3.6-envcpy-bad-pointer-arithmetic.patch | 15 +++++++++++++
 .../{slim-1.3.6-r4.ebuild => slim-1.3.6-r5.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 0000000..b3787dd
--- /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
similarity index 84%
rename from x11-misc/slim/slim-1.3.6-r4.ebuild
rename to x11-misc/slim/slim-1.3.6-r5.ebuild
index 728b2f4..2fdeebe 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 \

Reply via email to