diff options
author | Richard Sharpe <realrichardsharpe@gmail.com> | 2018-11-10 11:24:37 -0800 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2018-11-10 22:47:09 +0000 |
commit | a0bb983834c87a0aa6da7b9fe1f850139354c125 (patch) | |
tree | 69353fdec99228299ea79e09a18ab8f366b62bce /epan/dissectors | |
parent | 5d73f57f54c2688602751368781f808c7821dc81 (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.c | 5 |
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; |