From 2af818bf918a4d07aedf6cc17b5783a2c964b506 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Sat, 9 Feb 2013 21:29:56 +0200 Subject: Fixed some memory leaks in windows.c and main.c windows.c:subsurface_gettext_domainpath(): - memory at pointer returned from g_win32_getlocale() should be released main.c:setup_system_prefs() - it seems all calls to :system_default_filename() return a pre-allocated buffer, therefore we don't need to call strdup() on the result itself. Signed-off-by: Lubomir I. Ivanov Signed-off-by: Dirk Hohndel --- main.c | 2 +- windows.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index a22524f29..1ddcb3b64 100644 --- a/main.c +++ b/main.c @@ -281,7 +281,7 @@ static void setup_system_prefs(void) const char *env; default_prefs.divelist_font = strdup(system_divelist_default_font); - default_prefs.default_filename = strdup(system_default_filename()); + default_prefs.default_filename = system_default_filename(); env = getenv("LC_MEASUREMENT"); if (!env) diff --git a/windows.c b/windows.c index 9087c9e4e..3db08deab 100644 --- a/windows.c +++ b/windows.c @@ -232,8 +232,10 @@ const char *subsurface_gettext_domainpath(char *argv0) /* first hackishly make sure that the LANGUAGE information is correctly set up * in the environment */ char buffer[80]; - snprintf(buffer, sizeof(buffer), "LANGUAGE=%s.UTF-8", g_win32_getlocale()); + gchar *locale = g_win32_getlocale(); + snprintf(buffer, sizeof(buffer), "LANGUAGE=%s.UTF-8", locale); putenv(buffer); + g_free(locale); /* always use translation directory relative to install location, regardless of argv0 */ return "./share/locale"; } -- cgit v1.2.3-70-g09d2