diff options
author | Dom Lachowicz <domlachowicz@gmail.com> | 2009-06-30 01:51:52 +0000 |
---|---|---|
committer | Dom Lachowicz <domlachowicz@gmail.com> | 2009-06-30 01:51:52 +0000 |
commit | c2720c9973102047e26ff96313087e2b8e3e00c2 (patch) | |
tree | 9d375e32a133b4995f8165ea8f183b0c3064bfb9 | |
parent | 2df87570be8134430565b9c70c3b22409ec1d681 (diff) | |
download | enchant-c2720c9973102047e26ff96313087e2b8e3e00c2.tar.gz |
bug 12173 - fix some small memory leaks. from Caolan.
git-svn-id: svn+ssh://svn.abisource.com/svnroot/enchant/trunk@27066 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
-rw-r--r-- | src/enchant.c | 7 | ||||
-rw-r--r-- | tests/enchant-ispell.c | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/enchant.c b/src/enchant.c index 5cfc1f8..1d2019b 100644 --- a/src/enchant.c +++ b/src/enchant.c @@ -606,6 +606,7 @@ _enchant_session_new (EnchantProvider *provider, const char * const user_config_ session = enchant_session_new_with_pwl (provider, dic, excl, lang, fail_if_no_pwl); + g_free (excl); g_free (dic); g_free (excl); @@ -1615,11 +1616,13 @@ enchant_dict_destroyed (gpointer data) EnchantDict *dict; EnchantProvider *owner; EnchantSession *session; + EnchantDictPrivateData *enchant_dict_private_data; g_return_if_fail (data); dict = (EnchantDict *) data; - session = ((EnchantDictPrivateData*)dict->enchant_private_data)->session; + enchant_dict_private_data = (EnchantDictPrivateData*)dict->enchant_private_data; + session = enchant_dict_private_data->session; owner = session->provider; if (owner && owner->dispose_dict) @@ -1627,6 +1630,8 @@ enchant_dict_destroyed (gpointer data) else if(session->is_pwl) g_free (dict); + g_free(enchant_dict_private_data); + enchant_session_destroy (session); } diff --git a/tests/enchant-ispell.c b/tests/enchant-ispell.c index 331fb9c..e244be4 100644 --- a/tests/enchant-ispell.c +++ b/tests/enchant-ispell.c @@ -431,6 +431,8 @@ parse_file (FILE * in, FILE * out, IspellMode_t mode, int countLines, gchar *dic do_mode_a (out, dict, word, pos, lineCount); else if (mode == MODE_L) do_mode_l (out, dict, word, lineCount); + + g_string_free(word, TRUE); } if (token_ptr) g_slist_free (token_ptr); @@ -446,8 +448,6 @@ parse_file (FILE * in, FILE * out, IspellMode_t mode, int countLines, gchar *dic enchant_broker_free_dict (broker, dict); enchant_broker_free (broker); - if (word) - g_string_free (word, TRUE); g_string_free (str, TRUE); return 0; |