summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRustam Safargalin <rustam.safargalin@sifox.ru>2016-11-02 11:36:09 +0300
committerAnders Broman <a.broman58@gmail.com>2017-03-06 11:25:39 +0000
commitdaefa86695ecb6f859615ccd1bee6269e2c568a5 (patch)
tree8bb1f4ad27b1973127d9a6e5c81e39f21760281e
parent576043944b54df469d00e929e48256697075d9b1 (diff)
downloadwireshark-daefa86695ecb6f859615ccd1bee6269e2c568a5.tar.gz
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 <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--epan/dissectors/packet-sccp.c4
1 files changed, 2 insertions, 2 deletions
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,