Mercurial > hg
changeset 1125:2ac9bec53c37
Fix a memory leak in libjabber
Fix memory leak, with a better algo to detect if we freed of not the memory.
Reported by valgrind.
author | misc@mandriva.org |
---|---|
date | Sat, 13 Jan 2007 14:36:05 +0100 |
parents | 3fcb7c8af2ba |
children | 771eb6aa2d41 |
files | mcabber/libjabber/jconn.c |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/libjabber/jconn.c Sat Jan 13 11:27:48 2007 +0100 +++ b/mcabber/libjabber/jconn.c Sat Jan 13 14:36:05 2007 +0100 @@ -192,12 +192,16 @@ */ void jab_stop(jconn j) { - if(!j || j->state == JCONN_STATE_OFF) return; - + if (!j) return; + if (j->parser) { + XML_ParserFree(j->parser); + j->parser = NULL; + } j->state = JCONN_STATE_OFF; - cw_close(j->fd); - j->fd = -1; - XML_ParserFree(j->parser); + if (j->fd >= 0) { + cw_close(j->fd); + j->fd = -1; + } } /*