diff options
-rw-r--r-- | epan/dissectors/packet-ieee80211-radiotap-defs.h | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-ieee80211-radiotap.c | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ieee80211-radiotap-defs.h b/epan/dissectors/packet-ieee80211-radiotap-defs.h index 0124c6fb0b..f1570e30c3 100644 --- a/epan/dissectors/packet-ieee80211-radiotap-defs.h +++ b/epan/dissectors/packet-ieee80211-radiotap-defs.h @@ -209,7 +209,7 @@ enum ieee80211_radiotap_type { /* not (yet) defined Radiotap present flag */ /* Bit 25 and 28 are not defined (in binary : 0001 0010 0000 0000 0000 0000 0000 0000 */ -#define IEEE80211_RADIOTAP_NOTDEFINED 0x1A000000 +#define IEEE80211_RADIOTAP_NOTDEFINED 0x10000000 /* Channel flags. */ /* 0x00000001 through 0x00000008 undefined (reserved?) */ diff --git a/epan/dissectors/packet-ieee80211-radiotap.c b/epan/dissectors/packet-ieee80211-radiotap.c index 5fec3e5356..dbb16e95b7 100644 --- a/epan/dissectors/packet-ieee80211-radiotap.c +++ b/epan/dissectors/packet-ieee80211-radiotap.c @@ -1937,6 +1937,7 @@ dissect_radiotap(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* u gboolean rtap_ns_next; guint rtap_ns_offset; guint rtap_ns_offset_next; + gboolean zero_length_psdu = FALSE; /* our non-standard overrides */ static struct radiotap_override overrides[] = { @@ -2744,6 +2745,7 @@ dissect_radiotap(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* u break; case IEEE80211_RADIOTAP_0_LENGTH_PSDU: dissect_radiotap_0_length_psdu(tvb, pinfo, radiotap_tree, offset, &phdr); + zero_length_psdu = TRUE; break; case IEEE80211_RADIOTAP_L_SIG: dissect_radiotap_l_sig(tvb, pinfo, radiotap_tree, offset); @@ -2758,6 +2760,13 @@ dissect_radiotap(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* u proto_item_append_text(ti, " (malformed)"); } + /* + * Is there any more there? + */ + if (zero_length_psdu) { + return tvb_captured_length(tvb); + } + hand_off_to_80211: /* Grab the rest of the frame. */ next_tvb = tvb_new_subset_remaining(tvb, length); |