summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2011-05-08 14:08:38 +0200
committerRyan Lortie <desrt@desrt.ca>2011-05-08 14:08:38 +0200
commitc80896f5644ec0a07822047dd7e899da63b42e89 (patch)
tree8b931bb75b3f6a5cf8d2de34f5a502b3a2b6bece
parentd11e543a6a7a8dd2a3011bb3ed713a38d68de466 (diff)
downloaddconf-c80896f5644ec0a07822047dd7e899da63b42e89.tar.gz
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.
-rw-r--r--engine/dconf-engine.c6
1 files changed, 5 insertions, 1 deletions
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);