Mercurial > pidgin
changeset 22385:f332db29a854
Fixes a memleak:
==17163== 7 bytes in 1 blocks are definitely lost in loss record 7 of 214
==17163== at 0x4006A6E: malloc (vg_replace_malloc.c:207)
==17163== by 0xA1CAF5: g_malloc (in /lib/libglib-2.0.so.0.1400.6)
==17163== by 0xA35348: g_strdup (in /lib/libglib-2.0.so.0.1400.6)
==17163== by 0xA35BF9: g_strsplit (in /lib/libglib-2.0.so.0.1400.6)
==17163== by 0x52D5DF2: irc_cmd_op (cmds.c:290)
committer: Ka-Hing Cheung <khc@hxbc.us>
author | Andrew Gaul <andrew@gaul.org> |
---|---|
date | Fri, 29 Feb 2008 07:55:20 +0000 |
parents | 2e5ba07ed81a |
children | 177d5a1f12a6 |
files | libpurple/protocols/irc/cmds.c |
diffstat | 1 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/irc/cmds.c Fri Feb 29 04:31:07 2008 +0000 +++ b/libpurple/protocols/irc/cmds.c Fri Feb 29 07:55:20 2008 +0000 @@ -294,17 +294,15 @@ ops = g_new0(char *, i * 2 + 1); for (i = 0; nicks[i]; i++) { - if (!*nicks[i]) { - g_free(nicks[i]); - continue; + if (*nicks[i]) { + ops[used++] = mode; + ops[used++] = nicks[i]; } - ops[used++] = mode; - ops[used++] = nicks[i]; } irc_do_mode(irc, target, sign, ops); g_free(ops); - g_free(nicks); /* No, not g_strfreev */ + g_strfreev(nicks); return 0; }