diff options
author | Guy Harris <guy@alum.mit.edu> | 2017-06-16 12:53:44 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2017-06-16 19:55:12 +0000 |
commit | fadd484f7d2e384958fbfdc841f1e2d7ee5a9fa3 (patch) | |
tree | 499116dcb8ff7a041af6d927c1d374cd90f5177c | |
parent | f6ad6256fecb4b95d9de1790d1a3a194b7334df1 (diff) | |
download | wireshark-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.c | 16 |
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) |