diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-08-25 15:40:00 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-08-25 22:40:46 +0000 |
commit | 4fe661da814a749e80443ed6740829fd477a9522 (patch) | |
tree | 49682d4f27266b0e1fcfbbd68154c0ae8e9e2528 /epan/dissectors/packet-ieee80211.c | |
parent | 0e952e6920576c28e9ea7e5b1b69d9089fdaf0b3 (diff) |
Get subset TVBs correctly.
If you know the actual data length, use tvb_new_subset_length(); it will
use that as the *reported* length, which is how it *should* be used, and
will calculate the *captured* length for you as appropriate.
Change-Id: I86dde999f59fdfec58b118729b7b881737983033
Reviewed-on: https://code.wireshark.org/review/10260
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-ieee80211.c')
-rw-r--r-- | epan/dissectors/packet-ieee80211.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index cf8c94634c..da55fbf6c0 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -13460,7 +13460,7 @@ dissect_neighbor_report(tvbuff_t *tvb, packet_info *pinfo, sub_tag_length = tvb_get_guint8 (tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_neighbor_report_subelement_length, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - sub_tag_tvb = tvb_new_subset(tvb, offset, sub_tag_length, -1); + sub_tag_tvb = tvb_new_subset_length(tvb, offset, sub_tag_length); switch (sub_tag_id) { case NR_SUB_ID_TSF_INFO: @@ -18178,7 +18178,7 @@ dissect_ieee80211_common (tvbuff_t *tvb, packet_info *pinfo, proto_tree_add_item(subframe_tree, hf_ieee80211_amsdu_length, next_tvb, msdu_offset+12, 2, ENC_BIG_ENDIAN); msdu_offset += 14; - msdu_tvb = tvb_new_subset(next_tvb, msdu_offset, msdu_length, -1); + msdu_tvb = tvb_new_subset_length(next_tvb, msdu_offset, msdu_length); call_dissector(llc_handle, msdu_tvb, pinfo, subframe_tree); msdu_offset = roundup2(msdu_offset+msdu_length, 4); } while (tvb_reported_length_remaining(next_tvb, msdu_offset) > 14); |