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 \