diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2010-10-08 15:33:13 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2010-10-08 15:33:13 +0000 |
commit | c6fab7dfdce41227cbcd4d6a78c405223164f6e6 (patch) | |
tree | e27f39af2f4902fba2b02037a3df03b2ceafdb81 /sys-libs | |
parent | Marking vlc-1.1.4 ~ppc for bug 325007 (diff) | |
download | gentoo-2-c6fab7dfdce41227cbcd4d6a78c405223164f6e6.tar.gz gentoo-2-c6fab7dfdce41227cbcd4d6a78c405223164f6e6.tar.bz2 gentoo-2-c6fab7dfdce41227cbcd4d6a78c405223164f6e6.zip |
QA: avoid using $D when testing the just-built loader, as it might cause trouble when it contains colon characters; the fix is trivial.
(Portage version: 2.2_rc91/cvs/Linux x86_64)
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/pkg_preinst.eblit | 17 |
2 files changed, 18 insertions, 6 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index e18ac7551568..5925ce23b8a5 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-libs/glibc # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.715 2010/09/30 06:29:21 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.716 2010/10/08 15:33:13 flameeyes Exp $ + + 08 Oct 2010; Diego E. Pettenò <flameeyes@gentoo.org> + files/eblits/pkg_preinst.eblit: + QA: avoid using $D when testing the just-built loader, as it might cause + trouble when it contains colon characters; the fix is trivial. 30 Sep 2010; Mike Frysinger <vapier@gentoo.org> files/eblits/common.eblit, files/eblits/src_compile.eblit: diff --git a/sys-libs/glibc/files/eblits/pkg_preinst.eblit b/sys-libs/glibc/files/eblits/pkg_preinst.eblit index c161640c7c4c..dcde615cf738 100644 --- a/sys-libs/glibc/files/eblits/pkg_preinst.eblit +++ b/sys-libs/glibc/files/eblits/pkg_preinst.eblit @@ -1,6 +1,6 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/pkg_preinst.eblit,v 1.2 2009/12/19 23:44:54 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/pkg_preinst.eblit,v 1.3 2010/10/08 15:33:13 flameeyes Exp $ fix_lib64_symlinks() { # the original Gentoo/AMD64 devs decided that since 64bit is the native @@ -75,9 +75,16 @@ eblit-glibc-pkg_preinst() { striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) [[ -z ${striptest} ]] && continue [[ ${striptest} == *"statically linked"* ]] && continue - "${D}"/$(get_libdir)/ld-*.so \ - --library-path "${D}"/$(get_libdir) \ - ${x} > /dev/null \ + # we enter ${D} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${D}"/$(get_libdir) 2>/dev/null + ./ld-*.so --library-path . ${x} > /dev/null \ || die "simple run test (${x}) failed" + popd 2>/dev/null done } |