From 363d953113a327863013a9422c8212654a86a209 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 24 May 2011 22:48:50 +0000 Subject: Tue May 24 22:48:50 UTC 2011 --- extra/libgnome-keyring/PKGBUILD | 11 +++++++---- extra/libgnome-keyring/fix_crash.patch | 35 ++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 extra/libgnome-keyring/fix_crash.patch (limited to 'extra/libgnome-keyring') diff --git a/extra/libgnome-keyring/PKGBUILD b/extra/libgnome-keyring/PKGBUILD index 7b356f790..7517d586b 100644 --- a/extra/libgnome-keyring/PKGBUILD +++ b/extra/libgnome-keyring/PKGBUILD @@ -1,9 +1,9 @@ -#$Id: PKGBUILD 124476 2011-05-22 15:05:01Z ibiru $ +#$Id: PKGBUILD 124609 2011-05-23 13:28:25Z ibiru $ #Maintainer: Jan De Groot pkgname=libgnome-keyring pkgver=3.0.2 -pkgrel=1 +pkgrel=2 pkgdesc="GNOME keyring client library" arch=(i686 x86_64) license=('GPL' 'LGPL') @@ -11,11 +11,14 @@ depends=('dbus-core' 'libgcrypt' 'glib2') makedepends=('intltool' 'pkgconfig') options=('!libtool' '!emptydirs') url="http://www.gnome.org" -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('7914ac5edae5e602ba8f7c505ecd18faa84e8482a3f4e6ee0a20aee3a24d6f5d') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 + fix_crash.patch) +sha256sums=('7914ac5edae5e602ba8f7c505ecd18faa84e8482a3f4e6ee0a20aee3a24d6f5d' + '4b8c3d9cbc72d171b274e9ad38b01ff9f7ce92beaf1d1e89c54db70d6c4e8a6a') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/fix_crash.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static \ --libexecdir=/usr/lib/gnome-keyring diff --git a/extra/libgnome-keyring/fix_crash.patch b/extra/libgnome-keyring/fix_crash.patch new file mode 100644 index 000000000..1e28cdb73 --- /dev/null +++ b/extra/libgnome-keyring/fix_crash.patch @@ -0,0 +1,35 @@ +From 9bcac748b54e00836715b0f70be26b7cbdc8c888 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Mon, 23 May 2011 08:58:49 +0000 +Subject: Fix crash from recent memleak fix (b49e32b) + +make_attribute_list_va() statically copies the caller's method arguments into +the GnomeKeyringAttributeList, so we must only free the array itself, not the +GnomeKeyringAttribute strings. + +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=650840 +--- +diff --git a/library/gnome-keyring.c b/library/gnome-keyring.c +index dc271dd..4febf47 100644 +--- a/library/gnome-keyring.c ++++ b/library/gnome-keyring.c +@@ -2443,7 +2443,7 @@ gnome_keyring_find_itemsv (GnomeKeyringItemType type, + va_end (args); + + ret = gnome_keyring_find_items (type, attributes, callback, data, destroy_data); +- gnome_keyring_attribute_list_free (attributes); ++ g_array_free (attributes, TRUE); + return ret; + } + +@@ -2520,7 +2520,7 @@ gnome_keyring_find_itemsv_sync (GnomeKeyringItemType type, + va_end (args); + + ret = gnome_keyring_find_items_sync (type, attributes, found); +- gnome_keyring_attribute_list_free (attributes); ++ g_array_free (attributes, TRUE); + return ret; + } + +-- +cgit v0.9 -- cgit v1.2.3-54-g00ecf