summaryrefslogtreecommitdiff
path: root/extra/libgnome-keyring
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-05-24 22:48:50 +0000
committerroot <root@rshg047.dnsready.net>2011-05-24 22:48:50 +0000
commit363d953113a327863013a9422c8212654a86a209 (patch)
tree01f2b43d3e98433702f9c6ba92ab45bfa151888a /extra/libgnome-keyring
parent87e20a64534e8f58ca4a4f84000b629e48569a98 (diff)
Tue May 24 22:48:50 UTC 2011
Diffstat (limited to 'extra/libgnome-keyring')
-rw-r--r--extra/libgnome-keyring/PKGBUILD11
-rw-r--r--extra/libgnome-keyring/fix_crash.patch35
2 files changed, 42 insertions, 4 deletions
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 <jgc@archlinux.org>
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 <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