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); char *dirp = g_build_filename(g_get_user_config_dir(), "irssi", NULL);
if (!g_file_test(dirp, G_FILE_TEST_EXISTS)) { if (!g_file_test(dirp, G_FILE_TEST_EXISTS)) {
use_xdg = 1; use_xdg = 1;
irssi_dir = g_build_filename(g_get_user_data_dir(), "irssi", NULL); irssi_dir = g_strdup_printf("%s/irssi", g_get_user_data_dir());
irssi_config_dir = g_build_filename(g_get_user_config_dir(), "irssi", NULL); irssi_config_dir = g_strdup_printf("%s/irssi", g_get_user_config_dir());
irssi_cache_dir = g_build_filename(g_get_user_cache_dir(), "irssi", NULL); irssi_cache_dir = g_strdup_printf("%s/irssi", g_get_user_cache_dir());
irssi_runtime_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 */ } else { /* fallback to non-xdg location */
home = g_get_home_dir(); home = g_get_home_dir();
if (home == NULL) if (home == NULL)