From 0607bdb676c8fd95126ba994ab72e71becc232d8 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 1 Feb 2010 17:38:25 -0500 Subject: [PATCH] Don't crash when reloading if we haven't loaded user database yet The user database is populated on-demand, but the cache dropping code assumed it had been initialized. Simply check for NULL. https://bugs.freedesktop.org/show_bug.cgi?id=26182 --- dbus/dbus-userdb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dbus/dbus-userdb.c b/dbus/dbus-userdb.c index 5a153c6a..bfa4c435 100644 --- a/dbus/dbus-userdb.c +++ b/dbus/dbus-userdb.c @@ -226,7 +226,8 @@ static DBusString process_homedir; static void shutdown_system_db (void *data) { - _dbus_user_database_unref (system_db); + if (system_db != NULL) + _dbus_user_database_unref (system_db); system_db = NULL; _dbus_string_free (&process_username); _dbus_string_free (&process_homedir); @@ -345,7 +346,8 @@ _dbus_user_database_flush_system (void) { _dbus_user_database_lock_system (); - _dbus_user_database_flush (system_db); + if (system_db != NULL) + _dbus_user_database_flush (system_db); _dbus_user_database_unlock_system (); }