summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorAlessandro Bono <alessandro.bono369@gmail.com>2022-11-03 13:29:06 +0100
committerRay Strode <halfline@gmail.com>2023-04-28 19:41:28 +0000
commit021bf5747b1dfdc77cdb8e2b117e8c9972df681a (patch)
tree0c5bb214b51d1526d7c5e15808a227ccb94923ab /daemon
parentbc32ee5cf5386a36059b7ebf990bd195bbec3978 (diff)
downloadgdm-021bf5747b1dfdc77cdb8e2b117e8c9972df681a.tar.gz
gdm-server: Plug a memory leak
identifier was not freed. While at it use g_autofree and simplify how the identifier is created.
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm-server.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
index ebd0a78b..7b73f8e3 100644
--- a/daemon/gdm-server.c
+++ b/daemon/gdm-server.c
@@ -428,15 +428,9 @@ gdm_server_setup_journal_fds (GdmServer *server)
#ifdef ENABLE_SYSTEMD_JOURNAL
if (sd_booted () > 0) {
int out, err;
- const char *prefix = "gdm-Xorg-";
- char *identifier;
- gsize size;
-
- size = strlen (prefix) + strlen (server->display_name) + 1;
- identifier = g_alloca (size);
- strcpy (identifier, prefix);
- strcat (identifier, server->display_name);
- identifier[size - 1] = '\0';
+ g_autofree char *identifier = NULL;
+
+ identifier = g_strdup_printf("gdm-Xorg-%s", server->display_name);
out = sd_journal_stream_fd (identifier, LOG_INFO, FALSE);
if (out < 0)