From 917752367bd9e85669b16cbfad977698b69a4006 Mon Sep 17 00:00:00 2001 From: Dom Lachowicz Date: Mon, 26 Oct 2009 14:11:11 +0000 Subject: Leak in _enchant_get_user_home_dirs() on Windows The returned value of enchant_get_registry_value_ex() is g_strdup()'d instead of being used directly and the original value isn't freed - this will leak if anything is actually returned. From Daniel Atallah http://bugzilla.abisource.com/show_bug.cgi?id=12406 git-svn-id: svn+ssh://svn.abisource.com/svnroot/enchant/trunk@28394 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 --- src/enchant.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/enchant.c b/src/enchant.c index e7f6c1e..007aad9 100644 --- a/src/enchant.c +++ b/src/enchant.c @@ -143,10 +143,11 @@ _enchant_get_user_home_dirs (void) { GSList *dirs = NULL; const char* home_dir; + char *tmp; - home_dir = enchant_get_registry_value_ex (1, "Config", "Home_Dir"); - if (home_dir) - dirs = enchant_slist_append_unique_path (dirs, g_strdup (home_dir)); + tmp = enchant_get_registry_value_ex (1, "Config", "Home_Dir"); + if (tmp) + dirs = enchant_slist_append_unique_path (dirs, tmp); home_dir = g_get_home_dir (); if (home_dir) -- cgit v1.2.1