--- a/mcabber/mcabber/screen.c Sat Nov 07 12:21:12 2015 +0100
+++ b/mcabber/mcabber/screen.c Tue Mar 12 01:23:02 2013 +0200
@@ -350,11 +350,15 @@
g_free(mnick);
} else {
nickcolor *nc = g_new(nickcolor, 1);
+ nickcolor *oc;
ensure_string_htable(&nickcolors, NULL);
nc->manual = TRUE;
nc->color = cl;
// Free the struct, if any there already
- g_free(g_hash_table_lookup(nickcolors, mnick));
+ if ((oc = g_hash_table_lookup(nickcolors, mnick))) {
+ g_free(oc -> color);
+ g_free(oc);
+ }
// Save the new ones
g_hash_table_replace(nickcolors, mnick, nc);
g_hash_table_replace(nickcolors, snick, nc);