From 84553b468c1c59f912cdb4979191cac4737e1756 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Tue, 11 Sep 2007 16:59:57 +0000 Subject: From cyrille colin: PATCH : SNDCP reassembly fails / overlaps when same NPDU number in another call http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1755 svn path=/trunk/; revision=22846 --- epan/dissectors/packet-sndcp.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'epan/dissectors/packet-sndcp.c') diff --git a/epan/dissectors/packet-sndcp.c b/epan/dissectors/packet-sndcp.c index cf7504caa5..2d1daa6b67 100644 --- a/epan/dissectors/packet-sndcp.c +++ b/epan/dissectors/packet-sndcp.c @@ -102,10 +102,13 @@ static dissector_handle_t ip_handle; /* reassembly of N-PDU */ static GHashTable *npdu_fragment_table = NULL; +static GHashTable *sndcp_reassembled_table = NULL; + static void sndcp_defragment_init(void) { fragment_table_init(&npdu_fragment_table); + reassembled_table_init(&sndcp_reassembled_table); } /* value strings @@ -331,8 +334,8 @@ dissect_sndcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) pinfo->fragmented = TRUE; if (unack) - fd_npdu = fragment_add_seq(tvb, offset, pinfo, npdu, - npdu_fragment_table, segment, len, more_frags); + fd_npdu = fragment_add_seq_check(tvb, offset, pinfo, npdu, + npdu_fragment_table, sndcp_reassembled_table, segment, len, more_frags); else fd_npdu = fragment_add(tvb, offset, pinfo, npdu, npdu_fragment_table, offset, len, more_frags); -- cgit v1.2.3