summaryrefslogtreecommitdiff
path: root/extra/libgnome-keyring
diff options
context:
space:
mode:
Diffstat (limited to 'extra/libgnome-keyring')
-rw-r--r--extra/libgnome-keyring/PKGBUILD13
-rw-r--r--extra/libgnome-keyring/fix_crash.patch35
2 files changed, 43 insertions, 5 deletions
diff --git a/extra/libgnome-keyring/PKGBUILD b/extra/libgnome-keyring/PKGBUILD
index 158699992..57df71c05 100644
--- a/extra/libgnome-keyring/PKGBUILD
+++ b/extra/libgnome-keyring/PKGBUILD
@@ -1,9 +1,9 @@
-#$Id: PKGBUILD 120579 2011-04-25 17:26:49Z ibiru $
+#$Id: PKGBUILD 124609 2011-05-23 13:28:25Z ibiru $
#Maintainer: Jan De Groot <jgc@archlinux.org>
pkgname=libgnome-keyring
-pkgver=3.0.1
-pkgrel=1
+pkgver=3.0.2
+pkgrel=2
pkgdesc="GNOME keyring client library"
arch=(i686 x86_64 'mips64el')
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=('9d748842dab86914488bef039ca2c25f8ff5510daae3815643e6e00a2f69cacb')
+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 <martin.pitt@ubuntu.com>
+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