aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorRichard Sharpe <realrichardsharpe@gmail.com>2021-12-14 06:21:32 -0800
committerWireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2021-12-15 07:06:33 +0000
commit2b2c81a551cf6e300578c48afec3e2589910b23b (patch)
tree1e7cc6c282dc29da74c041d1f961147811480079 /epan
parentfa41e2244c6a6db81cfe88592c7745e83dfe13b4 (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.c5
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: