diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-02-09 01:55:12 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-02-09 01:55:12 +0000 |
commit | adc34c421852f6b93fa8adab5d6ac878d9912462 (patch) | |
tree | c5dbbecac80c2d624b6eae72e89a34f1d085cbf1 /sys-apps | |
parent | Mark alpha/ia64/s390/sh stable #301179. (diff) | |
download | gentoo-2-adc34c421852f6b93fa8adab5d6ac878d9912462.tar.gz gentoo-2-adc34c421852f6b93fa8adab5d6ac878d9912462.tar.bz2 gentoo-2-adc34c421852f6b93fa8adab5d6ac878d9912462.zip |
Add fix from upstream for blkid segfaults #301787 by Alec M.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/util-linux/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch | 33 | ||||
-rw-r--r-- | sys-apps/util-linux/util-linux-2.17-r1.ebuild | 98 |
3 files changed, 139 insertions, 1 deletions
diff --git a/sys-apps/util-linux/ChangeLog b/sys-apps/util-linux/ChangeLog index cb467fe57b3e..331cf84c9697 100644 --- a/sys-apps/util-linux/ChangeLog +++ b/sys-apps/util-linux/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-apps/util-linux # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/ChangeLog,v 1.299 2010/02/09 01:54:23 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/ChangeLog,v 1.300 2010/02/09 01:55:11 vapier Exp $ + +*util-linux-2.17-r1 (09 Feb 2010) + + 09 Feb 2010; Mike Frysinger <vapier@gentoo.org> + +files/0001-libblkid-fix-segfault-in-drdb.patch, + +util-linux-2.17-r1.ebuild: + Add fix from upstream for blkid segfaults #301787 by Alec M. 09 Feb 2010; Mike Frysinger <vapier@gentoo.org> util-linux-2.16.2.ebuild: Mark alpha/ia64/s390/sh stable #301179. diff --git a/sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch b/sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch new file mode 100644 index 000000000000..9acc8849a6de --- /dev/null +++ b/sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch @@ -0,0 +1,33 @@ +From 10f494e1a0ac09e144a42fcaeb72663674eb30fc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Matthias=20K=C3=B6nig?= <mk@phasorlab.de> +Date: Tue, 12 Jan 2010 13:58:28 +0100 +Subject: [PATCH] libblkid: fix segfault in drdb +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Check if blkid_probe_get_buffer() returns NULL to avoid dereferencing +a zero pointer resulting in a segfault. + +Signed-off-by: Matthias König <mk@phasorlab.de> +--- + shlibs/blkid/src/superblocks/drbd.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/shlibs/blkid/src/superblocks/drbd.c b/shlibs/blkid/src/superblocks/drbd.c +index e0bbb4d..a56486e 100644 +--- a/shlibs/blkid/src/superblocks/drbd.c ++++ b/shlibs/blkid/src/superblocks/drbd.c +@@ -78,7 +78,8 @@ static int probe_drbd(blkid_probe pr, const struct blkid_idmag *mag) + blkid_probe_get_buffer(pr, + off, + sizeof(struct md_on_disk_08)); +- ++ if (!md) ++ return -1; + + if (be32_to_cpu(md->magic) != DRBD_MD_MAGIC_08) + return -1; +-- +1.6.6.1 + diff --git a/sys-apps/util-linux/util-linux-2.17-r1.ebuild b/sys-apps/util-linux/util-linux-2.17-r1.ebuild new file mode 100644 index 000000000000..cee5a1bc5657 --- /dev/null +++ b/sys-apps/util-linux/util-linux-2.17-r1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.17-r1.ebuild,v 1.1 2010/02/09 01:55:11 vapier Exp $ + +EAPI="2" + +EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git" +inherit eutils toolchain-funcs libtool +[[ ${PV} == "9999" ]] && inherit git autotools + +MY_PV=${PV/_/-} +MY_P=${PN}-ng-${MY_PV} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="Various useful Linux utilities" +HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux-ng/" +if [[ ${PV} == "9999" ]] ; then + SRC_URI="" + #KEYWORDS="" +else + SRC_URI="mirror://kernel/linux/utils/util-linux-ng/v${PV:0:4}/${MY_P}.tar.bz2 + loop-aes? ( http://loop-aes.sourceforge.net/updates/util-linux-ng-2.17-20100120.diff.bz2 )" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="crypt loop-aes nls old-linux perl selinux slang uclibc unicode" + +RDEPEND="!sys-process/schedutils + !sys-apps/setarch + >=sys-libs/ncurses-5.2-r2 + !<sys-libs/e2fsprogs-libs-1.41.8 + !<sys-fs/e2fsprogs-1.41.8 + perl? ( dev-lang/perl ) + selinux? ( sys-libs/libselinux ) + slang? ( sys-libs/slang )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/os-headers" + +src_prepare() { + if [[ ${PV} == "9999" ]] ; then + autopoint --force + eautoreconf + else + use loop-aes && epatch "${WORKDIR}"/util-linux-ng-*.diff + fi + epatch "${FILESDIR}"/0001-libblkid-fix-segfault-in-drdb.patch #301787 + use uclibc && sed -i -e s/versionsort/alphasort/g -e s/strverscmp.h/dirent.h/g mount/lomount.c + elibtoolize +} + +src_configure() { + econf \ + $(use_enable nls) \ + --enable-agetty \ + --enable-cramfs \ + $(use_enable old-linux elvtune) \ + --disable-init \ + --disable-kill \ + --disable-last \ + --disable-mesg \ + --enable-partx \ + --enable-raw \ + --enable-rdev \ + --enable-rename \ + --disable-reset \ + --disable-login-utils \ + --enable-schedutils \ + --disable-wall \ + --enable-write \ + --without-pam \ + $(use unicode || echo --with-ncurses) \ + $(use_with selinux) \ + $(use_with slang) \ + $(tc-has-tls || echo --disable-tls) +} + +src_install() { + emake install DESTDIR="${D}" || die "install failed" + dodoc AUTHORS NEWS README* TODO docs/* + + if ! use perl ; then #284093 + rm "${D}"/usr/bin/chkdupexe || die + rm "${D}"/usr/share/man/man1/chkdupexe.1 || die + fi + + # need the libs in / + gen_usr_ldscript -a blkid uuid + # e2fsprogs-libs didnt install .la files, and .pc work fine + rm -f "${D}"/usr/$(get_libdir)/*.la + + if use crypt ; then + newinitd "${FILESDIR}"/crypto-loop.initd crypto-loop || die + newconfd "${FILESDIR}"/crypto-loop.confd crypto-loop || die + fi +} |