[arch-commits] Commit in dconf/trunk (2 files)

Ionut Biru ibiru at archlinux.org
Sun May 8 12:20:20 UTC 2011


    Date: Sunday, May 8, 2011 @ 08:20:20
  Author: ibiru
Revision: 123094

fixes crashers when user database is not present. FS#24160, FS#24164

Added:
  dconf/trunk/fix-crash-when-user-database-is-not-present.patch
Modified:
  dconf/trunk/PKGBUILD

---------------------------------------------------+
 PKGBUILD                                          |   10 ++++--
 fix-crash-when-user-database-is-not-present.patch |   29 ++++++++++++++++++++
 2 files changed, 36 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-05-08 09:33:27 UTC (rev 123093)
+++ PKGBUILD	2011-05-08 12:20:20 UTC (rev 123094)
@@ -2,7 +2,7 @@
 # Maintainer: Ionut Biru <ibiru at archlinux.org>
 pkgname=dconf
 pkgver=0.7.4
-pkgrel=1
+pkgrel=2
 pkgdesc="A low-level configuration system."
 arch=(i686 x86_64)
 url="http://live.gnome.org/dconf"
@@ -11,12 +11,16 @@
 makedepends=('vala' 'gobject-introspection' 'gtk3')
 optdepends=('gtk3: for dconf-editor')
 install=dconf.install
-source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('299d79daf0b214c692e7d5788d7bda76d778c1748ea37c33256c4fa6143b22cd')
+source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2
+       fix-crash-when-user-database-is-not-present.patch)
+sha256sums=('299d79daf0b214c692e7d5788d7bda76d778c1748ea37c33256c4fa6143b22cd'
+            'c78ea8db69a1be1286846282897f99e843e14d1e450beee4339d5500b2f0f73d')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
 
+  patch -Np1 -i "${srcdir}/fix-crash-when-user-database-is-not-present.patch"
+
   ./configure --prefix=/usr --sysconfdir=/etc \
     --libexecdir=/usr/lib/dconf
   make

Added: fix-crash-when-user-database-is-not-present.patch
===================================================================
--- fix-crash-when-user-database-is-not-present.patch	                        (rev 0)
+++ fix-crash-when-user-database-is-not-present.patch	2011-05-08 12:20:20 UTC (rev 123094)
@@ -0,0 +1,29 @@
+From c80896f5644ec0a07822047dd7e899da63b42e89 Mon Sep 17 00:00:00 2001
+From: Ryan Lortie <desrt at desrt.ca>
+Date: Sun, 08 May 2011 12:08:38 +0000
+Subject: Fix crash when user database is not present
+
+If we fail to open the database in the user's home directory then the
+variable will be NULL.  The refactor of the read function for lockdown
+support missed this check, resulting in a rather dramatic crash on fresh
+accounts.
+---
+diff --git a/engine/dconf-engine.c b/engine/dconf-engine.c
+index ec99116..087d780 100644
+--- a/engine/dconf-engine.c
++++ b/engine/dconf-engine.c
+@@ -452,7 +452,11 @@ dconf_engine_read_internal (DConfEngine  *engine,
+       break;
+ 
+   while (i < limit && value == NULL)
+-    value = gvdb_table_get_value (engine->gvdbs[i++], key);
++    {
++      if (engine->gvdbs[i] != NULL)
++        value = gvdb_table_get_value (engine->gvdbs[i], key);
++      i++;
++    }
+ 
+   g_static_mutex_unlock (&engine->lock);
+ 
+--
+cgit v0.9




More information about the arch-commits mailing list