aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ieee8021ah.c
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss.ws@gmail.com>2015-10-23 10:58:54 -0400
committerMichael Mann <mmann78@netscape.net>2015-10-24 00:30:44 +0000
commitae130f114cd61443c8c93e1c9280e027726a0235 (patch)
treebaef0240532e622c89fe6d6c14fbe9f6d44b65ba /epan/dissectors/packet-ieee8021ah.c
parent8e8db9b917e1ad9cdfeca0fd92bc864fbd94fd1e (diff)
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>
Diffstat (limited to 'epan/dissectors/packet-ieee8021ah.c')
-rw-r--r--epan/dissectors/packet-ieee8021ah.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/epan/dissectors/packet-ieee8021ah.c b/epan/dissectors/packet-ieee8021ah.c
index 7a41e3088e..a10a96827b 100644
--- a/epan/dissectors/packet-ieee8021ah.c
+++ b/epan/dissectors/packet-ieee8021ah.c
@@ -299,10 +299,9 @@ void
dissect_ieee8021ah(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree)
{
- proto_tree *ptree;
+ proto_item *pi;
guint32 tci;
int proto_tree_index;
-
proto_tree *volatile ieee8021ah_tree;
/* set tree index */
@@ -319,14 +318,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);
+ 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);
}
}