summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2020-09-18 15:46:50 -0400
committerRay Strode <rstrode@redhat.com>2020-09-18 15:51:48 -0400
commit1bec91253f259e927abc53579c2d0d46a5097da8 (patch)
treea3081afe5eb55818785f76734b4059a0d911cc34
parentd1458714043104cbb08121c526c9ecba1086b0f2 (diff)
downloadgdm-1bec91253f259e927abc53579c2d0d46a5097da8.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);