From 4b9ef0d108e2c2e92b0b56168155839e781c8772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 26 Mar 2024 23:01:06 +0100 Subject: [PATCH 1/2] gdm-server: Avoid potential NULL deferences --- daemon/gdm-server.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c index e9ed14ca1..cca44c58b 100644 --- a/daemon/gdm-server.c +++ b/daemon/gdm-server.c @@ -275,7 +275,8 @@ gdm_server_resolve_command_line (GdmServer *server, gdm_server_init_command (server); - g_shell_parse_argv (server->command, &argc, &argv, NULL); + if (!g_shell_parse_argv (server->command, &argc, &argv, NULL)) + return FALSE; for (len = 0; argv != NULL && argv[len] != NULL; len++) { char *arg = argv[len]; @@ -670,10 +671,13 @@ gdm_server_spawn (GdmServer *server, /* Figure out the server command */ argv = NULL; argc = 0; - gdm_server_resolve_command_line (server, - vtarg, - &argc, - &argv); + + if (!gdm_server_resolve_command_line (server, + vtarg, + &argc, + &argv)) { + return FALSE; + } if (server->session_args) { server_add_xserver_args (server, &argc, &argv); -- GitLab From 12d9d32a275509df6f2418d73c1e0f9826d853db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 26 Mar 2024 23:02:58 +0100 Subject: [PATCH 2/2] gdm-sessions: Handle return value on systemd calls This was already handled but avoids a static analyzer warning. --- libgdm/gdm-sessions.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c index b0258d84d..0aedcf906 100644 --- a/libgdm/gdm-sessions.c +++ b/libgdm/gdm-sessions.c @@ -79,6 +79,9 @@ get_systemd_session (void) else ret = sd_pid_get_session (pid, &session_id); + if (ret < 0) + return NULL; + return g_steal_pointer (&session_id); } -- GitLab