summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2017-06-16 12:53:44 -0700
committerGuy Harris <guy@alum.mit.edu>2017-06-16 19:55:12 +0000
commitfadd484f7d2e384958fbfdc841f1e2d7ee5a9fa3 (patch)
tree499116dcb8ff7a041af6d927c1d374cd90f5177c
parentf6ad6256fecb4b95d9de1790d1a3a194b7334df1 (diff)
downloadwireshark-fadd484f7d2e384958fbfdc841f1e2d7ee5a9fa3.tar.gz
Clean up the 802.11 payload handling a bit.
Two separate checks for OCTO, one right after the other, is a bit confusing. Change-Id: I702aa1809dc7271b69b5419dc850228fac516ed6 Reviewed-on: https://code.wireshark.org/review/22175 Reviewed-by: Guy Harris <guy@alum.mit.edu> (cherry picked from commit d217b757cb1c627e53d9cffe47fa5f47c38045de) Reviewed-on: https://code.wireshark.org/review/22176
-rw-r--r--epan/dissectors/packet-ixveriwave.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/epan/dissectors/packet-ixveriwave.c b/epan/dissectors/packet-ixveriwave.c
index 57206f0348..bbf86ef25e 100644
--- a/epan/dissectors/packet-ixveriwave.c
+++ b/epan/dissectors/packet-ixveriwave.c
@@ -2929,6 +2929,9 @@ wlantap_dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
next_tvb = tvb_new_subset_remaining(tvb, length);
+
+ /* dissect the 802.11 radio informaton and header next */
+ call_dissector_with_data(ieee80211_radio_handle, next_tvb, pinfo, tree, &phdr);
}
else
{
@@ -2937,13 +2940,14 @@ wlantap_dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
else
proto_item_set_len(tap_tree, length + OCTO_TIMESTAMP_FIELDS_LEN + OCTO_MODIFIED_RF_LEN);
- /* Grab the rest of the frame. */
- next_tvb = tvb_new_subset_remaining(tvb, length);
- }
+ if (mpdu_length != 0) {
+ /* There's data to dissect; grab the rest of the frame. */
+ next_tvb = tvb_new_subset_remaining(tvb, length);
- /* dissect the 802.11 radio informaton and header next */
- if(!is_octo || mpdu_length != 0)
- call_dissector_with_data(ieee80211_radio_handle, next_tvb, pinfo, tree, &phdr);
+ /* dissect the 802.11 radio informaton and header next */
+ call_dissector_with_data(ieee80211_radio_handle, next_tvb, pinfo, tree, &phdr);
+ }
+ }
}
void proto_register_ixveriwave(void)