diff options
author | Dom Lachowicz <domlachowicz@gmail.com> | 2009-10-26 14:11:11 +0000 |
---|---|---|
committer | Dom Lachowicz <domlachowicz@gmail.com> | 2009-10-26 14:11:11 +0000 |
commit | 917752367bd9e85669b16cbfad977698b69a4006 (patch) | |
tree | 20c65e9d17cb4a159e7ddd2cf668da75dd8657b6 | |
parent | 0efd4e94b2d30c3d368886b9e7ceddb5eaf79ac1 (diff) | |
download | enchant-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.c | 7 |
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) |