aboutsummaryrefslogtreecommitdiffstats
path: root/packet-m2pa.c
diff options
context:
space:
mode:
authorMichael Tüxen <tuexen@fh-muenster.de>2002-09-22 12:12:32 +0000
committerMichael Tüxen <tuexen@fh-muenster.de>2002-09-22 12:12:32 +0000
commit972849fff175402e63ba6431cf2315b253c543f4 (patch)
tree4439955598ab228e16f444d0152881d4be5f0ba6 /packet-m2pa.c
parentd72aca0b7ec946e137da3d04418ea6f4a4dc77d8 (diff)
Fixed a bug in packet-m2pa.c regarding the handling of Acks.
svn path=/trunk/; revision=6312
Diffstat (limited to 'packet-m2pa.c')
-rw-r--r--packet-m2pa.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/packet-m2pa.c b/packet-m2pa.c
index 399589a9db..88dc17b918 100644
--- a/packet-m2pa.c
+++ b/packet-m2pa.c
@@ -6,7 +6,7 @@
* Copyright 2001, 2002, Jeff Morriss <jeff.morriss[AT]ulticom.com>,
* updated by Michael Tuexen <michael.tuexen[AT]siemens.com>
*
- * $Id: packet-m2pa.c,v 1.13 2002/09/20 06:35:15 tuexen Exp $
+ * $Id: packet-m2pa.c,v 1.14 2002/09/22 12:12:32 tuexen Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -134,20 +134,24 @@ dissect_m2pa_user_data_message(tvbuff_t *message_data_tvb, packet_info *pinfo, p
proto_tree *m2pa_li_tree;
tvbuff_t *payload_tvb;
- if (m2pa_tree) {
- m2pa_li_item = proto_tree_add_text(m2pa_tree, message_data_tvb, LI_OFFSET, LI_LENGTH, "Length Indicator");
- m2pa_li_tree = proto_item_add_subtree(m2pa_li_item, ett_m2pa_li);
- proto_tree_add_item(m2pa_li_tree, hf_li_prio, message_data_tvb, LI_OFFSET, LI_LENGTH, NETWORK_BYTE_ORDER);
- proto_tree_add_item(m2pa_li_tree, hf_li_spare, message_data_tvb, LI_OFFSET, LI_LENGTH, NETWORK_BYTE_ORDER);
- /* Re-adjust length of M2PA item since it will be dissected as MTP3 */
- proto_item_set_len(m2pa_item, HEADER_LENGTH + LI_LENGTH);
- }
-
- payload_tvb = tvb_new_subset(message_data_tvb, MTP3_OFFSET, -1, -1);
- call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
- if (!(proto_is_protocol_enabled (mtp3_proto_id)))
+ if (tvb_length(message_data_tvb) > 0) {
+ if (m2pa_tree) {
+ m2pa_li_item = proto_tree_add_text(m2pa_tree, message_data_tvb, LI_OFFSET, LI_LENGTH, "Length Indicator");
+ m2pa_li_tree = proto_item_add_subtree(m2pa_li_item, ett_m2pa_li);
+ proto_tree_add_item(m2pa_li_tree, hf_li_prio, message_data_tvb, LI_OFFSET, LI_LENGTH, NETWORK_BYTE_ORDER);
+ proto_tree_add_item(m2pa_li_tree, hf_li_spare, message_data_tvb, LI_OFFSET, LI_LENGTH, NETWORK_BYTE_ORDER);
+ /* Re-adjust length of M2PA item since it will be dissected as MTP3 */
+ proto_item_set_len(m2pa_item, HEADER_LENGTH + LI_LENGTH);
+ }
+
+ payload_tvb = tvb_new_subset(message_data_tvb, MTP3_OFFSET, -1, -1);
+ call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
+ if ((!(proto_is_protocol_enabled (mtp3_proto_id))) && (check_col(pinfo->cinfo, COL_INFO)))
+ col_append_str(pinfo->cinfo, COL_INFO, "User Data ");
+ } else {
if (check_col(pinfo->cinfo, COL_INFO))
- col_append_str(pinfo->cinfo, COL_INFO, "User Data ");
+ col_append_str(pinfo->cinfo, COL_INFO, "User Data ");
+ }
}
#define STATUS_LENGTH 4