diff options
author | Rustam Safargalin <rustam.safargalin@sifox.ru> | 2016-11-02 11:36:09 +0300 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-03-06 11:25:39 +0000 |
commit | daefa86695ecb6f859615ccd1bee6269e2c568a5 (patch) | |
tree | 8bb1f4ad27b1973127d9a6e5c81e39f21760281e | |
parent | 576043944b54df469d00e929e48256697075d9b1 (diff) | |
download | wireshark-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.c | 4 |
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, |