diff options
author | Richard Sharpe <realrichardsharpe@gmail.com> | 2021-12-14 06:21:32 -0800 |
---|---|---|
committer | Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org> | 2021-12-15 07:06:33 +0000 |
commit | 2b2c81a551cf6e300578c48afec3e2589910b23b (patch) | |
tree | 1e7cc6c282dc29da74c041d1f961147811480079 /epan | |
parent | fa41e2244c6a6db81cfe88592c7745e83dfe13b4 (diff) |
ieee80211-radiotap: Fix a problem with S1G 0-length PPDUS.
The code was not advancing the offset correctly and mis-dissecting NDP
frames.
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-ieee80211-radiotap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ieee80211-radiotap.c b/epan/dissectors/packet-ieee80211-radiotap.c index e3bc8aa3a1..23a39bad22 100644 --- a/epan/dissectors/packet-ieee80211-radiotap.c +++ b/epan/dissectors/packet-ieee80211-radiotap.c @@ -1741,11 +1741,14 @@ dissect_radiotap_0_length_psdu(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree guint32 psdu_type; tvbuff_t *new_tvb = NULL; - zero_len_tree = proto_tree_add_subtree(tree, tvb, offset, 1, + zero_len_tree = proto_tree_add_subtree(tree, tvb, offset, + tvb_captured_length_remaining(tvb, offset), ett_radiotap_0_length_psdu, NULL, "0-length PSDU"); proto_tree_add_item_ret_uint(zero_len_tree, hf_radiotap_0_length_psdu_type, tvb, offset, 1, ENC_NA, &psdu_type); + offset += 1; + switch (psdu_type) { case 0: |