diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-09-04 21:20:08 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-09-04 21:20:08 +0000 |
commit | 94e6a44cb49755a621de1bc73983d2b0880fed9d (patch) | |
tree | 1357de7895b830d170f43e3da901d607f2b48782 /epan/dissectors/packet-gsm_map.c | |
parent | 64a239293d0684bfe2154e102c760372534a4c49 (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.c | 23 |
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); } |