From b86346eaa0b793974c713036d3e09b9a16e32fe1 Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Tue, 9 Apr 2019 08:30:34 +0200 Subject: ieee80211: Add length tag check for Mesh Configuration IE Issue reported by Helge Magnus Keck Change-Id: Ib761b4209d1efc80ca2c107dda9919e71f5865c2 Reviewed-on: https://code.wireshark.org/review/32798 Petri-Dish: Alexis La Goutte Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- epan/dissectors/packet-ieee80211.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index e64839900a..8fc627487c 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -21230,6 +21230,15 @@ ieee80211_tag_mesh_peering_mgmt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t static int ieee80211_tag_mesh_configuration(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { + + ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; + int tag_len = tvb_reported_length(tvb); + if (tag_len != 7) + { + expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag Length %u wrong, must be = 7", tag_len); + return tvb_captured_length(tvb); + } + int offset = 0; proto_item *item; proto_tree *subtree; -- cgit v1.2.3