aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorRichard Sharpe <realrichardsharpe@gmail.com>2018-11-10 11:24:37 -0800
committerMichael Mann <mmann78@netscape.net>2018-11-10 22:47:09 +0000
commita0bb983834c87a0aa6da7b9fe1f850139354c125 (patch)
tree69353fdec99228299ea79e09a18ab8f366b62bce /epan/dissectors
parent5d73f57f54c2688602751368781f808c7821dc81 (diff)
ieee80211: Fix Vendor Specific Fixed Field dissection.
Prevent malformed packet exceptions. Bug: 15273 Change-Id: I88c8fe4bf19d1c8ef478068dde8c220afdd33589 Reviewed-on: https://code.wireshark.org/review/30565 Petri-Dish: Richard Sharpe <realrichardsharpe@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-ieee80211.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index 150c4aa6d7..cb005a9bc9 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -10620,9 +10620,8 @@ add_ff_action_vendor_specific(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf
if (dissected <= 0)
{
call_data_dissector(vendor_tvb, pinfo, tree);
- /* don't advance the dissector pointer as this will probably cause more malformed packets
- if vendor is unknown. It also matches previous behavior (before dissection table implementation) */
- dissected = 0;
+ /* Skip the whole TVB because we don't know its format */
+ dissected = tvb_reported_length_remaining(vendor_tvb, 0);
}
offset += dissected;