diff options
author | Arun Raghavan <ford_prefect@gentoo.org> | 2011-05-13 04:57:57 +0000 |
---|---|---|
committer | Arun Raghavan <ford_prefect@gentoo.org> | 2011-05-13 04:57:57 +0000 |
commit | 7ca22fcbb9dd50895d9b6377e1d70a8030c7eb69 (patch) | |
tree | 65a252500b370f0074da05071f76a2b667451d34 /media-sound/pulseaudio | |
parent | Version bump (diff) | |
download | gentoo-2-7ca22fcbb9dd50895d9b6377e1d70a8030c7eb69.tar.gz gentoo-2-7ca22fcbb9dd50895d9b6377e1d70a8030c7eb69.tar.bz2 gentoo-2-7ca22fcbb9dd50895d9b6377e1d70a8030c7eb69.zip |
Bump to 0.9.22-r2 since we need one more patch for newer xcb-util (fixes segv+leaks). Remove -r1 since the first patch is not enough.
(Portage version: 2.2.0_alpha31/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/pulseaudio')
-rw-r--r-- | media-sound/pulseaudio/ChangeLog | 10 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch | 124 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-0.9.22-r2.ebuild (renamed from media-sound/pulseaudio/pulseaudio-0.9.22-r1.ebuild) | 5 |
3 files changed, 137 insertions, 2 deletions
diff --git a/media-sound/pulseaudio/ChangeLog b/media-sound/pulseaudio/ChangeLog index e1539f52604b..252345abd591 100644 --- a/media-sound/pulseaudio/ChangeLog +++ b/media-sound/pulseaudio/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-sound/pulseaudio # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.222 2011/04/27 08:36:22 angelos Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.223 2011/05/13 04:57:57 ford_prefect Exp $ + +*pulseaudio-0.9.22-r2 (13 May 2011) + + 13 May 2011; Arun Raghavan <ford_prefect@gentoo.org> + -pulseaudio-0.9.22-r1.ebuild, +pulseaudio-0.9.22-r2.ebuild, + +files/pulseaudio-0.9.22-xcb-atom-2.patch, pulseaudio-9999.ebuild: + Bump to 0.9.22-r2 since we need one more patch for newer xcb-util (fixes + segv+leaks). Remove -r1 since the first patch is not enough. 27 Apr 2011; Christoph Mende <angelos@gentoo.org> pulseaudio-0.9.22.ebuild: Restrict xcb-util dep to <0.3.8 diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch new file mode 100644 index 000000000000..8e9dc8db3b1e --- /dev/null +++ b/media-sound/pulseaudio/files/pulseaudio-0.9.22-xcb-atom-2.patch @@ -0,0 +1,124 @@ +From b72fc9b4f158bafb66a7de28ce038986d96ce850 Mon Sep 17 00:00:00 2001 +From: Arnaud Fontaine <arnau@debian.org> +Date: Tue, 29 Mar 2011 22:56:28 +0159 +Subject: [PATCH] x11: More XCB fixes. + +Commit 65ef80b fixed building with xcb-util >= 0.3.8, but the reply is never +checked (possible SIGSEGV if the reply is NULL) nor freed (memory leak at each +call of the functions). + +Also, remove include and dependencies on xcb-atom, as it was only meaningful +for xcb_atom_get() and STRING, and depend instead on xcb >= 1.6 for +XCB_ATOM_STRING. +--- + configure.ac | 2 +- + src/pulsecore/x11prop.c | 38 +++++++++++++++++++++++++------------- + 2 files changed, 26 insertions(+), 14 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 299dd49..ed9bd17 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -547,7 +547,7 @@ AC_ARG_ENABLE([x11], + [x11=auto]) + + if test "x${x11}" != xno ; then +- PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ], ++ PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], + HAVE_X11=1, + [ + HAVE_X11=0 +diff --git a/src/pulsecore/x11prop.c b/src/pulsecore/x11prop.c +index d66c48f..8fca219 100644 +--- a/src/pulsecore/x11prop.c ++++ b/src/pulsecore/x11prop.c +@@ -30,7 +30,6 @@ + #include <pulsecore/macro.h> + + #include <xcb/xproto.h> +-#include <xcb/xcb_atom.h> + + #define PA_XCB_FORMAT 8 + +@@ -50,7 +49,6 @@ static xcb_screen_t *screen_of_display(xcb_connection_t *xcb, int screen) + + void pa_x11_set_prop(xcb_connection_t *xcb, int screen, const char *name, const char *data) { + xcb_screen_t *xs; +- xcb_intern_atom_cookie_t cookie; + xcb_intern_atom_reply_t *reply; + + pa_assert(xcb); +@@ -58,26 +56,36 @@ void pa_x11_set_prop(xcb_connection_t *xcb, int screen, const char *name, const + pa_assert(data); + + if ((xs = screen_of_display(xcb, screen))) { +- cookie = xcb_intern_atom(xcb, 0, strlen(name), name); +- reply = xcb_intern_atom_reply(xcb, cookie, NULL); ++ reply = xcb_intern_atom_reply(xcb, ++ xcb_intern_atom(xcb, 0, strlen(name), name), ++ NULL); + +- xcb_change_property(xcb, XCB_PROP_MODE_REPLACE, xs->root, reply->atom, XCB_ATOM_STRING, PA_XCB_FORMAT, (int) strlen(data), (const void*) data); ++ if (reply) { ++ xcb_change_property(xcb, XCB_PROP_MODE_REPLACE, xs->root, reply->atom, ++ XCB_ATOM_STRING, PA_XCB_FORMAT, ++ (int) strlen(data), (const void*) data); ++ ++ free(reply); ++ } + } + } + + void pa_x11_del_prop(xcb_connection_t *xcb, int screen, const char *name) { + xcb_screen_t *xs; +- xcb_intern_atom_cookie_t cookie; + xcb_intern_atom_reply_t *reply; + + pa_assert(xcb); + pa_assert(name); + + if ((xs = screen_of_display(xcb, screen))) { +- cookie = xcb_intern_atom(xcb, 0, strlen(name), name); +- reply = xcb_intern_atom_reply(xcb, cookie, NULL); +- +- xcb_delete_property(xcb, xs->root, reply->atom); ++ reply = xcb_intern_atom_reply(xcb, ++ xcb_intern_atom(xcb, 0, strlen(name), name), ++ NULL); ++ ++ if (reply) { ++ xcb_delete_property(xcb, xs->root, reply->atom); ++ free(reply); ++ } + } + } + +@@ -87,7 +95,6 @@ char* pa_x11_get_prop(xcb_connection_t *xcb, int screen, const char *name, char + xcb_get_property_cookie_t req; + xcb_get_property_reply_t* prop = NULL; + xcb_screen_t *xs; +- xcb_intern_atom_cookie_t cookie; + xcb_intern_atom_reply_t *reply; + + pa_assert(xcb); +@@ -106,10 +113,15 @@ char* pa_x11_get_prop(xcb_connection_t *xcb, int screen, const char *name, char + xs = screen_of_display(xcb, 0); + + if (xs) { +- cookie = xcb_intern_atom(xcb, 0, strlen(name), name); +- reply = xcb_intern_atom_reply(xcb, cookie, NULL); ++ reply = xcb_intern_atom_reply(xcb, ++ xcb_intern_atom(xcb, 0, strlen(name), name), ++ NULL); ++ ++ if (!reply) ++ goto finish; + + req = xcb_get_property(xcb, 0, xs->root, reply->atom, XCB_ATOM_STRING, 0, (uint32_t)(l-1)); ++ free(reply); + prop = xcb_get_property_reply(xcb, req, NULL); + + if (!prop) +-- +1.6.3.3 + diff --git a/media-sound/pulseaudio/pulseaudio-0.9.22-r1.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.22-r2.ebuild index a0793cb12e7e..f63d7ffed9a4 100644 --- a/media-sound/pulseaudio/pulseaudio-0.9.22-r1.ebuild +++ b/media-sound/pulseaudio/pulseaudio-0.9.22-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.22-r1.ebuild,v 1.1 2011/04/27 07:18:47 angelos Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.22-r2.ebuild,v 1.1 2011/05/13 04:57:57 ford_prefect Exp $ EAPI=3 @@ -19,6 +19,7 @@ IUSE="+alsa avahi +caps jack lirc oss tcpd +X dbus libsamplerate gnome bluetooth RDEPEND="app-admin/eselect-esd X? ( || ( >=x11-libs/libX11-1.4.0 <x11-libs/libX11-1.4.0[xcb] ) + >=x11-libs/libxcb-1.6 >=x11-libs/xcb-util-0.3.1 x11-libs/libSM x11-libs/libICE @@ -83,6 +84,8 @@ src_prepare() { fi epatch "${FILESDIR}"/${P}-xcb-atom.patch + epatch "${FILESDIR}"/${P}-xcb-atom-2.patch + eautoreconf elibtoolize } |