summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2020-09-18 15:46:50 -0400
committerRay Strode <halfline@gmail.com>2020-11-02 18:22:47 +0000
commita4de923d3a666e1c30b9e268dab750b7ec1c5d5d (patch)
tree57530525011577c340ccf25340e8b19d705119d6
parentfa310e53ca7ab885405a832d2213c899314ec18e (diff)
downloadgdm-a4de923d3a666e1c30b9e268dab750b7ec1c5d5d.tar.gz
manager: Clean up user session when finished with display
The display object stores its associated user session with it as object data. It never clears this session from its object data when its done with it however, leading to the session leaking. This commit plugs the leak and an associated file descriptor leak at logout.
-rw-r--r--daemon/gdm-manager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index f19a6746..9c10adff 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -1545,6 +1545,8 @@ on_display_status_changed (GdmDisplay *display,
}
#endif
+ g_object_set_data (G_OBJECT (display), "gdm-user-session", NULL);
+
if (display == manager->priv->automatic_login_display) {
g_clear_weak_pointer (&manager->priv->automatic_login_display);