equal
deleted
inserted
replaced
1 # HG changeset patch |
|
2 # Parent a70b6bce62ccc3866f844b7a5e4e6bb27309c11f |
|
3 Fix memleak on replacing nickcolor rules |
|
4 |
|
5 diff -r a70b6bce62cc -r 646da4f1d2e1 mcabber/mcabber/screen.c |
|
6 --- a/mcabber/mcabber/screen.c Fri Jan 18 11:23:51 2013 +0200 |
|
7 +++ b/mcabber/mcabber/screen.c Mon Mar 11 21:45:20 2013 +0200 |
|
8 @@ -338,11 +338,15 @@ |
|
9 g_free(mnick); |
|
10 } else { |
|
11 nickcolor *nc = g_new(nickcolor, 1); |
|
12 + nickcolor *oc; |
|
13 ensure_string_htable(&nickcolors, NULL); |
|
14 nc->manual = TRUE; |
|
15 nc->color = cl; |
|
16 // Free the struct, if any there already |
|
17 - g_free(g_hash_table_lookup(nickcolors, mnick)); |
|
18 + if ((oc = g_hash_table_lookup(nickcolors, mnick))) { |
|
19 + g_free(oc -> color); |
|
20 + g_free(oc); |
|
21 + } |
|
22 // Save the new ones |
|
23 g_hash_table_replace(nickcolors, mnick, nc); |
|
24 g_hash_table_replace(nickcolors, snick, nc); |
|