summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/accountsservice/files/accountsservice-fix-nameless-users-crash.patch')
-rw-r--r--sys-apps/accountsservice/files/accountsservice-fix-nameless-users-crash.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/sys-apps/accountsservice/files/accountsservice-fix-nameless-users-crash.patch b/sys-apps/accountsservice/files/accountsservice-fix-nameless-users-crash.patch
new file mode 100644
index 00000000..28e3f029
--- /dev/null
+++ b/sys-apps/accountsservice/files/accountsservice-fix-nameless-users-crash.patch
@@ -0,0 +1,29 @@
+From 74c01ff9e3a3b00810ae69db2f2d089b68c5220a Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Fri, 15 Apr 2011 16:24:51 +0000
+Subject: Don't crash when removing nameless users
+
+Every person had in the beginning one only proper name, except the savages
+of Mount Atlas in Barbary, which were reported to be both nameless and
+dreamless.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=35872
+---
+diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c
+index 4e25bf9..7202b07 100644
+--- a/src/libaccountsservice/act-user-manager.c
++++ b/src/libaccountsservice/act-user-manager.c
+@@ -732,7 +732,10 @@ remove_user (ActUserManager *manager,
+ if (act_user_get_object_path (user) != NULL) {
+ g_hash_table_remove (manager->priv->users_by_object_path, act_user_get_object_path (user));
+ }
+- g_hash_table_remove (manager->priv->users_by_name, act_user_get_user_name (user));
++ if (act_user_get_user_name (user) != NULL) {
++ g_hash_table_remove (manager->priv->users_by_name, act_user_get_user_name (user));
++
++ }
+
+ if (manager->priv->is_loaded) {
+ g_signal_emit (manager, signals[USER_REMOVED], 0, user);
+--
+cgit v0.8.3-6-g21f6