diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2019-04-09 08:30:34 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2019-04-10 04:33:15 +0000 |
commit | b86346eaa0b793974c713036d3e09b9a16e32fe1 (patch) | |
tree | e50f605ad40666b64289044bc3c2f3cdfcd12b90 | |
parent | 8b6eb05bb3ae7b27267a48d7cb248a8732bb9bc8 (diff) |
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 <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r-- | epan/dissectors/packet-ieee80211.c | 9 |
1 files changed, 9 insertions, 0 deletions
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; |