From: Ian Stakenvicius Date: Mon, 14 Sep 2015 19:30:37 +0000 (-0400) Subject: x11-misc/slim: fix pointer arithmetic error X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e44233b3de61851f504ee94f8b2c526d6ec200af;p=gentoo.git 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 --- 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(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(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 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 \