Hi folks, Attached is a small patch to fix the problems I saw with filter expressions.
It is a quick simple fix although I think the whole 802.11 dissector needs a cleanup and the check should possibly be based on the PHY Type. -- Regards, Richard Sharpe (何以解憂?唯有杜康。--曹操)
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index e29e77e..642ee7d 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -285,32 +285,8 @@ typedef struct mimo_control * Checks if the packet was transmitted in channel frequency of MINIMAL_80211AD_FREQ * till MAXIMAL_80211AD_FREQ to determine if 802.11ad. */ -static gboolean is_80211ad(proto_node * pnode, gpointer data) { - field_info* finfo; - header_field_info* hfinfo; - if(data != NULL) { - return FALSE; - } - if(pnode == NULL) { - return FALSE; - } - finfo = PNODE_FINFO(pnode); - if (finfo == NULL) { - return FALSE; - } - hfinfo = finfo->hfinfo; - if (hfinfo == NULL) { - return FALSE; - } - if(hfinfo->name != NULL) { - if(strcmp(hfinfo->name, "Channel frequency") == 0) { - if((finfo->value.value.uinteger >= MINIMAL_80211AD_FREQ) && (finfo->value.value.uinteger <= MAXIMAL_80211AD_FREQ)) { - return TRUE; - } - } - } - return FALSE; -} +#define IS_80211AD(frequency) (((frequency) >= MINIMAL_80211AD_FREQ) && \ + ((frequency) <= MAXIMAL_80211AD_FREQ)) /* * Extract the fragment number and sequence number from the sequence @@ -16589,7 +16565,7 @@ dissect_ieee80211_common (tvbuff_t *tvb, packet_info *pinfo, guint16 meshoff = 0; static wlan_hdr whdrs[4]; gboolean retransmitted; - gboolean isDMG = (tree == NULL) ? FALSE : proto_tree_traverse_post_order(proto_tree_get_root(tree), is_80211ad, NULL); + gboolean isDMG = (phdr ? IS_80211AD(phdr->frequency) : FALSE); volatile encap_t encap_type; proto_tree *volatile hdr_tree = NULL;
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe