From 9ac42daf2b5159a7938810f15b9c240918afd88b Mon Sep 17 00:00:00 2001 From: Giuliano Schneider Date: Thu, 29 Aug 2013 17:06:05 +0200 Subject: [PATCH] fixed "free(): invalid pointer" when XDG_CONFIG_HOME is set --- src/configdir.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/configdir.c b/src/configdir.c index d8bb9ed..8f43bc9 100644 --- a/src/configdir.c +++ b/src/configdir.c @@ -107,7 +107,8 @@ char *get_user_config_dir(void) snprintf(user_config_dir, len, "%s/Library/Application Support", home); # else /* __APPLE__ */ - if (!(user_config_dir = getenv("XDG_CONFIG_HOME"))) { + const char *tmp; + if (!(tmp = getenv("XDG_CONFIG_HOME"))) { len = strlen(home) + strlen("/.config") + 1; user_config_dir = malloc(len); @@ -116,6 +117,8 @@ char *get_user_config_dir(void) } snprintf(user_config_dir, len, "%s/.config", home); + } else { + user_config_dir = strdup(tmp); } # endif /* __APPLE__ */