diff options
Diffstat (limited to 'extra/libgnome-keyring')
-rw-r--r-- | extra/libgnome-keyring/PKGBUILD | 13 | ||||
-rw-r--r-- | extra/libgnome-keyring/fix_crash.patch | 35 |
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 |