diff options
author | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2015-10-23 10:58:54 -0400 |
---|---|---|
committer | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2015-10-25 02:25:28 +0000 |
commit | 3b42eabd77a132ff7503af3b0eb7daed82ca700c (patch) | |
tree | 03fbb2d6b9e88adf688a09b4182c1245e090f221 | |
parent | fcdb06190a7cff2c078ddebfe0d1d2d2d5b10630 (diff) | |
download | wireshark-3b42eabd77a132ff7503af3b0eb7daed82ca700c.tar.gz |
802.1ah: call subdissectors even when we have no tree.
Otherwise none of the subdissectors are called on the first pass which means
none of their analysis (which is generally done on the first pass) is going to
work.
Bug: 11629
Change-Id: I6fe8d0692e5cf6f5b5fa099d31a91d01cc5c7c68
Reviewed-on: https://code.wireshark.org/review/11226
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
(cherry picked from commit ae130f114cd61443c8c93e1c9280e027726a0235)
Conflicts:
epan/dissectors/packet-ieee8021ah.c
Reviewed-on: https://code.wireshark.org/review/11255
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
-rw-r--r-- | epan/dissectors/packet-ieee8021ah.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/epan/dissectors/packet-ieee8021ah.c b/epan/dissectors/packet-ieee8021ah.c index 91fc430b68..48e4d70d9e 100644 --- a/epan/dissectors/packet-ieee8021ah.c +++ b/epan/dissectors/packet-ieee8021ah.c @@ -312,8 +312,8 @@ void dissect_ieee8021ah(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_tree *ptree; - guint32 tci; + proto_item *pi; + guint32 tci; proto_tree *volatile ieee8021ah_tree; int proto_tree_index; @@ -331,14 +331,13 @@ dissect_ieee8021ah(tvbuff_t *tvb, packet_info *pinfo, (tci >> 29), ((tci >> 28) & 1), ((tci >> 27) & 1), ((tci >> 26) & 1), ((tci >> 24) & 3), (tci & 0x00FFFFFF)); - /* create the protocol tree */ - ieee8021ah_tree = NULL; - - if (tree) { - ptree = proto_tree_add_item(tree, proto_tree_index, tvb, 0, IEEE8021AH_LEN, ENC_NA); - ieee8021ah_tree = proto_item_add_subtree(ptree, ett_ieee8021ah); + pi = proto_tree_add_item(tree, proto_tree_index, tvb, 0, IEEE8021AH_LEN, ENC_NA); + ieee8021ah_tree = proto_item_add_subtree(pi, ett_ieee8021ah); - dissect_ieee8021ah_common(tvb, pinfo, ieee8021ah_tree, tree, proto_tree_index); + if (ieee8021ah_tree) { + dissect_ieee8021ah_common(tvb, pinfo, ieee8021ah_tree, tree, proto_tree_index); + } else { + dissect_ieee8021ah_common(tvb, pinfo, tree, NULL, proto_tree_index); } } |