# HG changeset patch
# Parent a70b6bce62ccc3866f844b7a5e4e6bb27309c11f
Fix memleak on replacing nickcolor rules
diff -r a70b6bce62cc -r 646da4f1d2e1 mcabber/mcabber/screen.c
--- a/mcabber/mcabber/screen.c Fri Jan 18 11:23:51 2013 +0200
+++ b/mcabber/mcabber/screen.c Mon Mar 11 21:45:20 2013 +0200
@@ -338,11 +338,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);