aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_map.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2004-09-04 21:20:08 +0000
committerGuy Harris <guy@alum.mit.edu>2004-09-04 21:20:08 +0000
commit94e6a44cb49755a621de1bc73983d2b0880fed9d (patch)
tree1357de7895b830d170f43e3da901d607f2b48782 /epan/dissectors/packet-gsm_map.c
parent64a239293d0684bfe2154e102c760372534a4c49 (diff)
From Jeff Morriss: the code path that's bypassed with the "if (tree)"
and "if (!tree)" checks updates the Info column and calls subdissectors, so we can't bypass all of it - don't bypass any of it. svn path=/trunk/; revision=11903
Diffstat (limited to 'epan/dissectors/packet-gsm_map.c')
-rw-r--r--epan/dissectors/packet-gsm_map.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c
index 2f2bbeb8e9..aa357c7227 100644
--- a/epan/dissectors/packet-gsm_map.c
+++ b/epan/dissectors/packet-gsm_map.c
@@ -2990,25 +2990,20 @@ dissect_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
- /* In the interest of speed, if "tree" is NULL, don't do any work not
- * necessary to generate protocol tree items.
- */
- if (tree)
- {
- g_pinfo = pinfo;
- g_tree = tree;
+ /* Dissect the packet (even if !tree so can update the INFO column) */
+ g_pinfo = pinfo;
+ g_tree = tree;
- /* create display subtree for the protocol */
- ti = proto_tree_add_item(tree, proto_map, tvb, 0, -1, FALSE);
+ /* create display subtree for the protocol */
+ ti = proto_tree_add_item(tree, proto_map, tvb, 0, -1, FALSE);
- map_tree = proto_item_add_subtree(ti, ett_map);
+ map_tree = proto_item_add_subtree(ti, ett_map);
- asn1_open(&asn1, tvb, offset);
+ asn1_open(&asn1, tvb, offset);
- dissect_map_message(pinfo, map_tree, &asn1);
+ dissect_map_message(pinfo, map_tree, &asn1);
- asn1_close(&asn1, &offset);
- }
+ asn1_close(&asn1, &offset);
}