aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_bssmap_le.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-gsm_bssmap_le.c')
-rw-r--r--epan/dissectors/packet-gsm_bssmap_le.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/epan/dissectors/packet-gsm_bssmap_le.c b/epan/dissectors/packet-gsm_bssmap_le.c
index 81b5cdd612..23db7d1918 100644
--- a/epan/dissectors/packet-gsm_bssmap_le.c
+++ b/epan/dissectors/packet-gsm_bssmap_le.c
@@ -905,8 +905,8 @@ static void (*bssmap_le_msg_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info
NULL, /* NONE */
};
-void
-dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+int
+dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
{
static gsm_a_tap_rec_t tap_rec[4];
static gsm_a_tap_rec_t *tap_p;
@@ -918,9 +918,7 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_item *bssmap_le_item = NULL;
proto_tree *bssmap_le_tree = NULL;
const gchar *str;
- sccp_msg_info_t *sccp_msg_p;
-
- sccp_msg_p = pinfo->sccp_info;
+ sccp_msg_info_t *sccp_msg_p = (sccp_msg_info_t *)data;
if (!(sccp_msg_p && sccp_msg_p->data.co.assoc)) {
sccp_msg_p = NULL;
@@ -994,9 +992,9 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
tap_queue_packet(gsm_a_tap, pinfo, tap_p);
- if (str == NULL) return;
+ if (str == NULL) return len;
- if (offset >= len) return;
+ if (offset >= len) return len;
/*
* decode elements
@@ -1009,6 +1007,8 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
(*bssmap_le_msg_fcn[idx])(tvb, bssmap_le_tree, pinfo, offset, len - offset);
}
+
+ return len;
}
/* Register the protocol with Wireshark */
@@ -1214,7 +1214,7 @@ proto_register_gsm_bssmap_le(void)
expert_gsm_a_bssmap_le = expert_register_protocol(proto_bssmap_le);
expert_register_field_array(expert_gsm_a_bssmap_le, ei, array_length(ei));
- register_dissector("gsm_bssmap_le", dissect_bssmap_le, proto_bssmap_le);
+ new_register_dissector("gsm_bssmap_le", dissect_bssmap_le, proto_bssmap_le);
}
void