summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDom Lachowicz <domlachowicz@gmail.com>2009-10-26 14:11:11 +0000
committerDom Lachowicz <domlachowicz@gmail.com>2009-10-26 14:11:11 +0000
commit917752367bd9e85669b16cbfad977698b69a4006 (patch)
tree20c65e9d17cb4a159e7ddd2cf668da75dd8657b6
parent0efd4e94b2d30c3d368886b9e7ceddb5eaf79ac1 (diff)
downloadenchant-917752367bd9e85669b16cbfad977698b69a4006.tar.gz
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 <daniel_atallah@yahoo.com> 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
-rw-r--r--src/enchant.c7
1 files 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)