diff options
author | Alessandro Bono <alessandro.bono369@gmail.com> | 2022-11-03 15:52:42 +0100 |
---|---|---|
committer | Ray Strode <halfline@gmail.com> | 2023-04-28 19:41:28 +0000 |
commit | 9da7070eda73a095af86cb63a45917a2a939104b (patch) | |
tree | 19b22e9d59e73ef053217fcb5354c6b5b640e52d /daemon | |
parent | f218d47ad7f509a12481a65e8ab28249b05e708d (diff) | |
download | gdm-9da7070eda73a095af86cb63a45917a2a939104b.tar.gz |
gdm-manager: Plug a memory leak
session_type was not freed. While at it use g_autofree.
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/gdm-manager.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index 5a2d9125..25744628 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -1506,7 +1506,7 @@ on_display_status_changed (GdmDisplay *display, { int status; int display_number = -1; - char *session_type = NULL; + g_autofree char *session_type = NULL; gboolean doing_initial_setup = FALSE; #ifdef WITH_PLYMOUTH gboolean display_is_local = FALSE; @@ -1531,14 +1531,13 @@ on_display_status_changed (GdmDisplay *display, case GDM_DISPLAY_MANAGED: if ((display_number == -1 && status == GDM_DISPLAY_PREPARED) || (display_number != -1 && status == GDM_DISPLAY_MANAGED)) { - char *session_class; + g_autofree char *session_class = NULL; g_object_get (display, "session-class", &session_class, NULL); if (g_strcmp0 (session_class, "greeter") == 0) set_up_session (manager, display); - g_free (session_class); } break; case GDM_DISPLAY_FAILED: |