diff options
author | Ryan Lortie <desrt@desrt.ca> | 2011-05-08 14:08:38 +0200 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2011-05-08 14:08:38 +0200 |
commit | c80896f5644ec0a07822047dd7e899da63b42e89 (patch) | |
tree | 8b931bb75b3f6a5cf8d2de34f5a502b3a2b6bece | |
parent | d11e543a6a7a8dd2a3011bb3ed713a38d68de466 (diff) | |
download | dconf-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.c | 6 |
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); |