--- liboobs-2.22.0~/oobs/oobs-usersconfig.c 2008-01-02 15:06:41.000000000 +0100 +++ liboobs-2.22.0/oobs/oobs-usersconfig.c 2009-01-12 20:28:38.000000000 +0100 @@ -346,6 +346,7 @@ gchar *name, *room_number, *work_phone, *home_phone, *other_data; DBusMessageIter struct_iter, data_iter; + int password_allocated_by_glibP = 1; g_object_get (user, "name", &login, "crypted-password", &password, @@ -359,7 +360,12 @@ "other-data", &other_data, NULL); - g_return_val_if_fail ((login && password && homedir && shell), FALSE); + g_return_val_if_fail ((login && homedir && shell), FALSE); + + if (! password) { + password = "" ; + password_allocated_by_glibP = 0; + } group = oobs_user_get_main_group (user); gid = oobs_group_get_gid (group); @@ -387,7 +393,8 @@ dbus_message_iter_close_container (array_iter, &struct_iter); g_free (login); - g_free (password); + if (password_allocated_by_glibP) + g_free (password); g_free (shell); g_free (homedir); g_free (name);