diff options
author | Evan Huus <eapache@gmail.com> | 2012-07-22 21:48:51 +0000 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2012-07-22 21:48:51 +0000 |
commit | daa0ff3ac80126abf74110a8fdb13a38369ba089 (patch) | |
tree | 341399cfadefcbf2ec3ee44947bcd3f5ee99e71b /epan/dissectors/packet-xmpp.c | |
parent | 5c75ecd4245289be43cdbdae7edd9952a44918d8 (diff) |
The XMPP dissector was allocating a new parser for every packet and never
freeing them. This was slow and leaked gobs of memory.
Be like XML: allocate one parser during set-up and share it around.
svn path=/trunk/; revision=43920
Diffstat (limited to 'epan/dissectors/packet-xmpp.c')
-rw-r--r-- | epan/dissectors/packet-xmpp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/epan/dissectors/packet-xmpp.c b/epan/dissectors/packet-xmpp.c index f21b9fa58a..292d7d3171 100644 --- a/epan/dissectors/packet-xmpp.c +++ b/epan/dissectors/packet-xmpp.c @@ -1407,6 +1407,8 @@ proto_register_xmpp(void) { proto_register_subtree_array(ett_unknown_ptr, array_length(ett_unknown_ptr)); register_dissector("xmpp", dissect_xmpp, proto_xmpp); + + xmpp_init_parsers(); } void |