From 7904d0bbbaae2963bbc0adbcb337c9e5ef2c3844 Mon Sep 17 00:00:00 2001 From: altffour Date: Tue, 12 Jan 2021 08:38:38 +0300 Subject: [PATCH] xdg: fix memory leaks of special XDG paths variables use g_strdup_printf() instead of g_build_filename() --- src/core/core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/core.c b/src/core/core.c index a13760c4..0a38699a 100644 --- a/src/core/core.c +++ b/src/core/core.c @@ -218,11 +218,11 @@ void core_preinit(const char *path) char *dirp = g_build_filename(g_get_user_config_dir(), "irssi", NULL); if (!g_file_test(dirp, G_FILE_TEST_EXISTS)) { use_xdg = 1; - irssi_dir = g_build_filename(g_get_user_data_dir(), "irssi", NULL); - irssi_config_dir = g_build_filename(g_get_user_config_dir(), "irssi", NULL); - irssi_cache_dir = g_build_filename(g_get_user_cache_dir(), "irssi", NULL); + irssi_dir = g_strdup_printf("%s/irssi", g_get_user_data_dir()); + irssi_config_dir = g_strdup_printf("%s/irssi", g_get_user_config_dir()); + irssi_cache_dir = g_strdup_printf("%s/irssi", g_get_user_cache_dir()); irssi_runtime_dir = - g_build_filename(g_get_user_runtime_dir(), "irssi", NULL); + g_strdup_printf("%s/irssi", g_get_user_runtime_dir(), "irssi", NULL); } else { /* fallback to non-xdg location */ home = g_get_home_dir(); if (home == NULL)