summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-ieee80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-ieee80211.c')
-rw-r--r--epan/dissectors/packet-ieee80211.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index ea4ceaf968..917f227f5a 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -18364,8 +18364,8 @@ dissect_ieee80211 (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *da
* Dissect 802.11 with a variable-length link-layer header and with an
* FCS, but no pseudo-header.
*/
-static void
-dissect_ieee80211_withfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_ieee80211_withfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
struct ieee_802_11_phdr phdr;
@@ -18376,14 +18376,15 @@ dissect_ieee80211_withfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
phdr.phy = PHDR_802_11_PHY_UNKNOWN;
phdr.presence_flags = 0;
dissect_ieee80211_common (tvb, pinfo, tree, FALSE, FALSE, &phdr);
+ return tvb_captured_length(tvb);
}
/*
* Dissect 802.11 with a variable-length link-layer header and without an
* FCS, but no pseudo-header.
*/
-static void
-dissect_ieee80211_withoutfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_ieee80211_withoutfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
struct ieee_802_11_phdr phdr;
@@ -18394,6 +18395,7 @@ dissect_ieee80211_withoutfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
phdr.phy = PHDR_802_11_PHY_UNKNOWN;
phdr.presence_flags = 0;
dissect_ieee80211_common (tvb, pinfo, tree, FALSE, FALSE, &phdr);
+ return tvb_captured_length(tvb);
}
/*
@@ -18446,8 +18448,8 @@ dissect_ieee80211_centrino(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
* control field and with no FCS (some hardware sends out LWAPP-encapsulated
* 802.11 packets with the control field byte swapped).
*/
-static void
-dissect_ieee80211_bsfc (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_ieee80211_bsfc (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
struct ieee_802_11_phdr phdr;
@@ -18458,6 +18460,7 @@ dissect_ieee80211_bsfc (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
phdr.phy = PHDR_802_11_PHY_UNKNOWN;
phdr.presence_flags = 0;
dissect_ieee80211_common (tvb, pinfo, tree, TRUE, FALSE, &phdr);
+ return tvb_captured_length(tvb);
}
static void
@@ -27037,9 +27040,9 @@ proto_register_ieee80211 (void)
expert_register_field_array(expert_ieee80211, ei, array_length(ei));
new_register_dissector("wlan", dissect_ieee80211, proto_wlan);
- register_dissector("wlan_withfcs", dissect_ieee80211_withfcs, proto_wlan);
- register_dissector("wlan_withoutfcs", dissect_ieee80211_withoutfcs, proto_wlan);
- register_dissector("wlan_bsfc", dissect_ieee80211_bsfc, proto_wlan);
+ new_register_dissector("wlan_withfcs", dissect_ieee80211_withfcs, proto_wlan);
+ new_register_dissector("wlan_withoutfcs", dissect_ieee80211_withoutfcs, proto_wlan);
+ new_register_dissector("wlan_bsfc", dissect_ieee80211_bsfc, proto_wlan);
register_init_routine(wlan_defragment_init);
register_cleanup_routine(wlan_defragment_cleanup);