# HG changeset patch # User misc@mandriva.org # Date 1168695365 -3600 # Node ID 2ac9bec53c37cd044c304f6a38b0bb1f21f901e7 # Parent 3fcb7c8af2ba76126425d3e4994622a35368b923 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. diff -r 3fcb7c8af2ba -r 2ac9bec53c37 mcabber/libjabber/jconn.c --- 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; + } } /*