From b5fb90cac5526c4d08992d925d45676faaa23fa8 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 20 Mar 2007 03:41:44 +0000 Subject: [PATCH] Fix from upstream for invalid memory freeing in cdrom code #169477 by Peter Alfredsen. Package-Manager: portage-2.1.2.2 --- media-libs/libsdl/ChangeLog | 10 +- media-libs/libsdl/Manifest | 25 ++- .../libsdl/files/digest-libsdl-1.2.11-r2 | 3 + ...ibsdl-1.2.11-cdrom-correct-free-func.patch | 26 +++ media-libs/libsdl/libsdl-1.2.11-r2.ebuild | 169 ++++++++++++++++++ 5 files changed, 225 insertions(+), 8 deletions(-) create mode 100644 media-libs/libsdl/files/digest-libsdl-1.2.11-r2 create mode 100644 media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch create mode 100644 media-libs/libsdl/libsdl-1.2.11-r2.ebuild diff --git a/media-libs/libsdl/ChangeLog b/media-libs/libsdl/ChangeLog index 33f879e2f7d8..19e75d7dfbe7 100644 --- a/media-libs/libsdl/ChangeLog +++ b/media-libs/libsdl/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-libs/libsdl # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.125 2007/03/20 02:50:26 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.126 2007/03/20 03:41:44 vapier Exp $ + +*libsdl-1.2.11-r2 (20 Mar 2007) + + 20 Mar 2007; Mike Frysinger + +files/libsdl-1.2.11-cdrom-correct-free-func.patch, + +libsdl-1.2.11-r2.ebuild: + Fix from upstream for invalid memory freeing in cdrom code #169477 by Peter + Alfredsen. 20 Mar 2007; Mike Frysinger +files/libsdl-1.2.11-yasm-checks.patch, libsdl-1.2.11.ebuild, diff --git a/media-libs/libsdl/Manifest b/media-libs/libsdl/Manifest index c6a23aabced3..e1cfdda972ff 100644 --- a/media-libs/libsdl/Manifest +++ b/media-libs/libsdl/Manifest @@ -5,6 +5,10 @@ AUX libsdl-1.2.11-audioConv.patch 428 RMD160 0d4092a4c573f95560b9cc10bfdca546d51 MD5 b4a5108fe1f2fab8203422d8d057e334 files/libsdl-1.2.11-audioConv.patch 428 RMD160 0d4092a4c573f95560b9cc10bfdca546d5140755 files/libsdl-1.2.11-audioConv.patch 428 SHA256 c7a9d541334c5d2638b3283fa8a4c9ab91b3c547148a3fb559aaaa48f1074a9f files/libsdl-1.2.11-audioConv.patch 428 +AUX libsdl-1.2.11-cdrom-correct-free-func.patch 896 RMD160 34026361186ff35b0820b9a36212d7b726603635 SHA1 c14111dc3fbe67f4961a7a0bd2f6e05424704f00 SHA256 ac546e3a4693692a44d6156522abfc3b879e105f222701f2501af5a700003916 +MD5 ee94a8a51113c2f4edb4e7936cde8b0d files/libsdl-1.2.11-cdrom-correct-free-func.patch 896 +RMD160 34026361186ff35b0820b9a36212d7b726603635 files/libsdl-1.2.11-cdrom-correct-free-func.patch 896 +SHA256 ac546e3a4693692a44d6156522abfc3b879e105f222701f2501af5a700003916 files/libsdl-1.2.11-cdrom-correct-free-func.patch 896 AUX libsdl-1.2.11-fbcon-page-header.patch 2387 RMD160 2a6ef67a0b7f3371f8a673495c432b16edcb54e2 SHA1 28a9d15b9db3cb07b97f836e3bcdfc0bd558d711 SHA256 d5cadbd594588e6116d334ebd3e90c2aee85ed52e0afdf4502a1453194356347 MD5 dca2d4b16dc25669f2155633126b765d files/libsdl-1.2.11-fbcon-page-header.patch 2387 RMD160 2a6ef67a0b7f3371f8a673495c432b16edcb54e2 files/libsdl-1.2.11-fbcon-page-header.patch 2387 @@ -38,14 +42,18 @@ EBUILD libsdl-1.2.11-r1.ebuild 4898 RMD160 cb224659e8f898ac175ad25a1067302390e79 MD5 81d59dd483faefb893722adf2aa77b33 libsdl-1.2.11-r1.ebuild 4898 RMD160 cb224659e8f898ac175ad25a1067302390e79a80 libsdl-1.2.11-r1.ebuild 4898 SHA256 3d26f99868ce209cb6d95dd18e3eae2aa4c29b4d99174d64068c37e1c0af8546 libsdl-1.2.11-r1.ebuild 4898 +EBUILD libsdl-1.2.11-r2.ebuild 4964 RMD160 e7019d2354b067c20bafa639cf6401d13cd05b4f SHA1 92da2dcb23f3764405889f418bc670268c043b8f SHA256 7c8497941f05abe4c3a5f5e7e0c1deb3ae030d219699bceb9954590cbac94471 +MD5 4ad5a6a777713ad00cbd22be9e266c71 libsdl-1.2.11-r2.ebuild 4964 +RMD160 e7019d2354b067c20bafa639cf6401d13cd05b4f libsdl-1.2.11-r2.ebuild 4964 +SHA256 7c8497941f05abe4c3a5f5e7e0c1deb3ae030d219699bceb9954590cbac94471 libsdl-1.2.11-r2.ebuild 4964 EBUILD libsdl-1.2.11.ebuild 4777 RMD160 5e694b0b93b016010281dc116bc7786c691cdebf SHA1 788f6c6b377801d0c1596e14727a79d5650967b9 SHA256 f85c78f0e05989ac61a5129ad01cb2562046b83d00b38b00316983b40cfb119b MD5 f6e57388c8444f0c7d4a7800445a11bf libsdl-1.2.11.ebuild 4777 RMD160 5e694b0b93b016010281dc116bc7786c691cdebf libsdl-1.2.11.ebuild 4777 SHA256 f85c78f0e05989ac61a5129ad01cb2562046b83d00b38b00316983b40cfb119b libsdl-1.2.11.ebuild 4777 -MISC ChangeLog 19847 RMD160 42fa416ec3fa6cf7e92e071313156b3c2274e044 SHA1 925588d22988db7aaae7d74f340d433e173f336e SHA256 d4a73c489b4a36cee261f7cb5d1079920a57a8b5785cab0afc4e225839947fbb -MD5 02a26189cd6ca81f0678b68cb2d36415 ChangeLog 19847 -RMD160 42fa416ec3fa6cf7e92e071313156b3c2274e044 ChangeLog 19847 -SHA256 d4a73c489b4a36cee261f7cb5d1079920a57a8b5785cab0afc4e225839947fbb ChangeLog 19847 +MISC ChangeLog 20104 RMD160 8f9fe67dec7ee6b4d4128aae90158e7e0afa84d7 SHA1 df8312bf29959a8f6ce58737fd13b91c78715caa SHA256 227ba533be98567786965a4b22491f5e89f7bae0a00519a82e816934b788cdfc +MD5 942e0084076a9e655e8a5221d06bd20c ChangeLog 20104 +RMD160 8f9fe67dec7ee6b4d4128aae90158e7e0afa84d7 ChangeLog 20104 +SHA256 227ba533be98567786965a4b22491f5e89f7bae0a00519a82e816934b788cdfc ChangeLog 20104 MISC metadata.xml 974 RMD160 61d8f32b069dc30e7b853b25d1d73020f73cda8f SHA1 8f8471103d29e564169640539c3a2a6a7de5b8c7 SHA256 e575130f8fd4925956581f5d4230469e915b1a8d63269cc0aa3510f3a4743b9b MD5 baaaa69f33ef9027dac84ee4ff02773b metadata.xml 974 RMD160 61d8f32b069dc30e7b853b25d1d73020f73cda8f metadata.xml 974 @@ -56,10 +64,13 @@ SHA256 be7333b21a407831ab4861ba67e56d36c9759b78f3b42400981abf3e34f5fda8 files/di MD5 9ed8388b30dd3fb3d16a0ae5bd5ce94e files/digest-libsdl-1.2.11-r1 235 RMD160 71eb2fb51f72febbc870a867d83d3cac7aefe7df files/digest-libsdl-1.2.11-r1 235 SHA256 be7333b21a407831ab4861ba67e56d36c9759b78f3b42400981abf3e34f5fda8 files/digest-libsdl-1.2.11-r1 235 +MD5 9ed8388b30dd3fb3d16a0ae5bd5ce94e files/digest-libsdl-1.2.11-r2 235 +RMD160 71eb2fb51f72febbc870a867d83d3cac7aefe7df files/digest-libsdl-1.2.11-r2 235 +SHA256 be7333b21a407831ab4861ba67e56d36c9759b78f3b42400981abf3e34f5fda8 files/digest-libsdl-1.2.11-r2 235 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.3 (GNU/Linux) -iD8DBQFF/0wA8bi6rjpTunYRAnp3AJ4+q4iX0sOqv2wBWLcxGn61G2Dq5QCcCV+X -DnpUOgeTrBkSqVi6JFpPRd8= -=ma0t +iD8DBQFF/1gH8bi6rjpTunYRAtvwAKCAtGpRmRo9FeewynAdmDlZDjrsqACfUuVz +cYMTOuCkw+2ofEvp1IwHX5A= +=qoBm -----END PGP SIGNATURE----- diff --git a/media-libs/libsdl/files/digest-libsdl-1.2.11-r2 b/media-libs/libsdl/files/digest-libsdl-1.2.11-r2 new file mode 100644 index 000000000000..7c37b8fdf059 --- /dev/null +++ b/media-libs/libsdl/files/digest-libsdl-1.2.11-r2 @@ -0,0 +1,3 @@ +MD5 418b42956b7cd103bfab1b9077ccc149 SDL-1.2.11.tar.gz 2796407 +RMD160 91dc8877224415a4ba59e1de57c31861e550d644 SDL-1.2.11.tar.gz 2796407 +SHA256 6985823287b224b57390b1c1b6cbc54cc9a7d7757fbf9934ed20754b4cd23730 SDL-1.2.11.tar.gz 2796407 diff --git a/media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch b/media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch new file mode 100644 index 000000000000..90b35faf19c2 --- /dev/null +++ b/media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch @@ -0,0 +1,26 @@ +http://bugs.gentoo.org/169477 + +Revision 2744 +Modified Tue Sep 5 19:31:48 2006 UTC (6 months, 1 week ago) by pmandin +Use correct function to free allocated mem + +--- branches/SDL-1.2/src/cdrom/linux/SDL_syscdrom.c 2006/07/10 21:03:59 2608 ++++ branches/SDL-1.2/src/cdrom/linux/SDL_syscdrom.c 2006/09/05 19:31:48 2744 +@@ -218,7 +218,7 @@ + if ( SDL_strcmp(mnt_type, MNTTYPE_SUPER) == 0 ) { + tmp = SDL_strstr(mntent->mnt_opts, "fs="); + if ( tmp ) { +- SDL_free(mnt_type); ++ SDL_stack_free(mnt_type); + mnt_type = SDL_strdup(tmp + SDL_strlen("fs=")); + if ( mnt_type ) { + tmp = SDL_strchr(mnt_type, ','); +@@ -229,7 +229,7 @@ + } + tmp = SDL_strstr(mntent->mnt_opts, "dev="); + if ( tmp ) { +- SDL_free(mnt_dev); ++ SDL_stack_free(mnt_dev); + mnt_dev = SDL_strdup(tmp + SDL_strlen("dev=")); + if ( mnt_dev ) { + tmp = SDL_strchr(mnt_dev, ','); diff --git a/media-libs/libsdl/libsdl-1.2.11-r2.ebuild b/media-libs/libsdl/libsdl-1.2.11-r2.ebuild new file mode 100644 index 000000000000..b71c9bcc456d --- /dev/null +++ b/media-libs/libsdl/libsdl-1.2.11-r2.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/libsdl-1.2.11-r2.ebuild,v 1.1 2007/03/20 03:41:44 vapier Exp $ + +inherit flag-o-matic toolchain-funcs eutils libtool + +DESCRIPTION="Simple Direct Media Layer" +HOMEPAGE="http://www.libsdl.org/" +SRC_URI="http://www.libsdl.org/release/SDL-${PV}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +# WARNING: +# if you have the noaudio, novideo, nojoystick, or noflagstrip use flags +# in USE and something breaks, you pick up the pieces. Be prepared for +# bug reports to be marked INVALID. +IUSE="oss alsa esd arts nas X dga xv xinerama fbcon directfb ggi svga aalib opengl libcaca noaudio novideo nojoystick noflagstrip" + +RDEPEND="!noaudio? ( >=media-libs/audiofile-0.1.9 ) + alsa? ( media-libs/alsa-lib ) + esd? ( >=media-sound/esound-0.2.19 ) + arts? ( kde-base/arts ) + nas? ( + media-libs/nas + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + ) + X? ( + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + ) + directfb? ( >=dev-libs/DirectFB-0.9.19 ) + ggi? ( >=media-libs/libggi-2.0_beta3 ) + svga? ( >=media-libs/svgalib-1.4.2 ) + aalib? ( media-libs/aalib ) + libcaca? ( >=media-libs/libcaca-0.9-r1 ) + opengl? ( virtual/opengl virtual/glu )" +DEPEND="${RDEPEND} + nas? ( + x11-proto/xextproto + x11-proto/xproto + ) + X? ( + x11-proto/xextproto + x11-proto/xproto + ) + x86? ( >=dev-lang/nasm-0.98.39-r3 )" + +S=${WORKDIR}/SDL-${PV} + +pkg_setup() { + if use noaudio || use novideo || use nojoystick ; then + ewarn "Since you've chosen to turn off some of libsdl's functionality," + ewarn "don't bother filing libsdl-related bugs until trying to remerge" + ewarn "libsdl without the no* flags in USE. You need to know what" + ewarn "you're doing to selectively turn off parts of libsdl." + epause 30 + fi + if use noflagstrip ; then + ewarn "Since you've chosen to use possibly unsafe CFLAGS," + ewarn "don't bother filing libsdl-related bugs until trying to remerge" + ewarn "libsdl without the noflagstrip use flag in USE." + epause 10 + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${P}-libcaca-new-api.patch #40224 + epatch "${FILESDIR}"/${P}-sdl-config.patch + epatch "${FILESDIR}"/${P}-xinerama-head-0.patch #145917 + epatch "${FILESDIR}"/${P}-no-inline-BlitRGBtoRGBPixelAlphaMMX3DNOW.patch #148186 + epatch "${FILESDIR}"/${P}-audioConv.patch #151991 + epatch "${FILESDIR}"/${P}-fbcon-page-header.patch #159923 #169388 + epatch "${FILESDIR}"/${P}-yasm-checks.patch #163053 + epatch "${FILESDIR}"/${P}-cdrom-correct-free-func.patch #169477 + + # add yasm-compatible defines to nasm code (hopefully we + # can get this killed soonish) + local f + for f in "${S}"/src/hermes/*.asm ; do + cat <<-EOF >> "${f}" + %ifidn __YASM_OBJFMT__,elf + section ".note.GNU-stack" noalloc noexec nowrite progbits + %endif + EOF + done + + # yasm does not understand -i + # bug #147201 + sed -i \ + -e 's:NASMFLAGS -i:NASMFLAGS -I:' \ + configure.in \ + || die "sed failed" + + ./autogen.sh || die "autogen failed" + elibtoolize +} + +src_compile() { + local myconf= + if [[ $(tc-arch) != "x86" ]] ; then + myconf="${myconf} --disable-nasm" + else + myconf="${myconf} --enable-nasm" + fi + use noflagstrip || strip-flags + use noaudio && myconf="${myconf} --disable-audio" + use novideo \ + && myconf="${myconf} --disable-video" \ + || myconf="${myconf} --enable-video-dummy" + use nojoystick && myconf="${myconf} --disable-joystick" + + local directfbconf="--disable-video-directfb" + if use directfb ; then + # since DirectFB can link against SDL and trigger a + # dependency loop, only link against DirectFB if it + # isn't broken #61592 + echo 'int main(){}' > directfb-test.c + $(tc-getCC) directfb-test.c -ldirectfb 2>/dev/null \ + && directfbconf="--enable-video-directfb" \ + || ewarn "Disabling DirectFB since libdirectfb.so is broken" + fi + + myconf="${myconf} ${directfbconf}" + + econf \ + --disable-dependency-tracking \ + --disable-rpath \ + --enable-events \ + --enable-cdrom \ + --enable-threads \ + --enable-timers \ + --enable-endian \ + --enable-file \ + --enable-cpuinfo \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable esd) \ + $(use_enable arts) \ + $(use_enable nas) \ + $(use_enable X video-x11) \ + $(use_enable dga) \ + $(use_enable xv video-x11-xv) \ + $(use_enable xinerama video-x11-xinerama) \ + $(use_enable X video-x11-xrandr) \ + $(use_enable dga video-dga) \ + $(use_enable fbcon video-fbcon) \ + $(use_enable ggi video-ggi) \ + $(use_enable svga video-svga) \ + $(use_enable aalib video-aalib) \ + $(use_enable libcaca video-caca) \ + $(use_enable opengl video-opengl) \ + $(use_with X x) \ + --disable-video-x11-xme \ + ${myconf} || die + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + dodoc BUGS CREDITS README README-SDL.txt README.CVS TODO WhatsNew + dohtml -r ./ +} -- 2.26.2