changeset 2226:c1eb68306520

Fix memleak on replacing nickcolor rules
author Myhailo Danylenko <isbear@ukrpost.net>
date Tue, 12 Mar 2013 01:23:02 +0200
parents dc3b3ac1ba76
children b4173f8154e8
files mcabber/mcabber/screen.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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);