From daefa86695ecb6f859615ccd1bee6269e2c568a5 Mon Sep 17 00:00:00 2001 From: Rustam Safargalin Date: Wed, 2 Nov 2016 11:36:09 +0300 Subject: Fix issue with dissecting multiple DT1 packets in the frame When parameter 'Reassemble SCCP messages' enabled in case there are more than one complete DT1 in the frame they had not been dissected. Bug: 11130 Bug: 3360 Change-Id: Iba9093105fcd95dc398607c950129ed1db866c85 Reviewed-on: https://code.wireshark.org/review/18615 Reviewed-by: Michael Mann Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- epan/dissectors/packet-sccp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'epan/dissectors/packet-sccp.c') diff --git a/epan/dissectors/packet-sccp.c b/epan/dissectors/packet-sccp.c index c54cf77f8c..e4c2c0ab39 100644 --- a/epan/dissectors/packet-sccp.c +++ b/epan/dissectors/packet-sccp.c @@ -2887,8 +2887,8 @@ dissect_sccp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sccp_tree, offset, SEGMENTING_REASSEMBLING_LENGTH, &sccp_info); VARIABLE_POINTER(variable_pointer1, hf_sccp_variable_pointer1, POINTER_LENGTH); - /* Reassemble */ - if (!sccp_reassemble) { + /* Reassemble (only if there are fragments involved) */ + if ((!sccp_reassemble) || (!more && (fragment_get_reassembled(&sccp_xudt_msg_reassembly_table, source_local_ref) == NULL))) { proto_tree_add_item(sccp_tree, hf_sccp_segmented_data, tvb, variable_pointer1, tvb_get_guint8(tvb, variable_pointer1)+1, ENC_NA); dissect_sccp_variable_parameter(tvb, pinfo, sccp_tree, tree, -- cgit v1.2.3