aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-config.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2002-10-25 14:19:07 +0800
committerMichael Zucci <zucchi@src.gnome.org>2002-10-25 14:19:07 +0800
commit56c3d9cb4ccc9fde4afc5b764a4a3ceb4acd8d85 (patch)
tree000e6e6ca61956277817d7c5ea35fcb914c77412 /mail/mail-config.c
parentcd0daad88d1624b136a5654068e7d782f756dd3c (diff)
downloadgsoc2013-evolution-56c3d9cb4ccc9fde4afc5b764a4a3ceb4acd8d85.tar.gz
gsoc2013-evolution-56c3d9cb4ccc9fde4afc5b764a4a3ceb4acd8d85.tar.zst
gsoc2013-evolution-56c3d9cb4ccc9fde4afc5b764a4a3ceb4acd8d85.zip
Always strdup the new key in the threaded/preview hash/always free the
2002-10-25 Not Zed <NotZed@Ximian.com> * mail-config.c (mail_config_uri_renamed): Always strdup the new key in the threaded/preview hash/always free the working copy. For #32799. svn path=/trunk/; revision=18431
Diffstat (limited to 'mail/mail-config.c')
-rw-r--r--mail/mail-config.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mail/mail-config.c b/mail/mail-config.c
index 58a7a111e3..fda1d257eb 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -2188,7 +2188,7 @@ mail_config_uri_renamed(GCompareFunc uri_cmp, const char *old, const char *new)
if (g_hash_table_lookup_extended (config->threaded_hash, oldkey, &hashkey, &val)) {
/*printf ("changing key in threaded_hash\n");*/
g_hash_table_remove (config->threaded_hash, hashkey);
- g_hash_table_insert (config->threaded_hash, newkey, val);
+ g_hash_table_insert (config->threaded_hash, g_strdup(newkey), val);
work = 2;
}
@@ -2197,13 +2197,12 @@ mail_config_uri_renamed(GCompareFunc uri_cmp, const char *old, const char *new)
if (g_hash_table_lookup_extended (config->preview_hash, oldkey, &hashkey, &val)) {
/*printf ("changing key in preview_hash\n");*/
g_hash_table_remove (config->preview_hash, hashkey);
- g_hash_table_insert (config->preview_hash, newkey, val);
+ g_hash_table_insert (config->preview_hash, g_strdup(newkey), val);
work = 2;
}
g_free (oldkey);
- if (work != 2)
- g_free (newkey);
+ g_free (newkey);
/* ignore return values or if the files exist or
* not, doesn't matter */