xdg: fix memory leaks of special XDG paths variables

use g_strdup_printf() instead of g_build_filename()
This commit is contained in:
altffour 2021-01-12 08:38:38 +03:00
commit 7904d0bbba
No known key found for this signature in database
GPG key ID: B4ADFA86EDF5CCE9

View file

@ -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)