aboutsummaryrefslogtreecommitdiffstats
path: root/tshark.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2012-06-20 20:44:05 +0000
committerGerald Combs <gerald@wireshark.org>2012-06-20 20:44:05 +0000
commit49849233c382116d77f3a6d15a38135d5dbe3ee2 (patch)
tree443813975387b312918367f5c00d7bf54ddc84bf /tshark.c
parent41232f172ef1b7fb24181d0d03354de6a82a2519 (diff)
If we're making two passes and we have a display filter applied, create
a protocol tree in process_packet_first_pass(). Otherwise we crash with ERROR:dfvm.c:434:dfvm_apply: assertion failed: (tree) svn path=/trunk/; revision=43420
Diffstat (limited to 'tshark.c')
-rw-r--r--tshark.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tshark.c b/tshark.c
index 46f9949761..2b83d54881 100644
--- a/tshark.c
+++ b/tshark.c
@@ -2498,6 +2498,7 @@ process_packet_first_pass(capture_file *cf,
{
frame_data fdlocal;
guint32 framenum;
+ gboolean create_proto_tree = FALSE;
epan_dissect_t edt;
gboolean passed;
@@ -2520,11 +2521,14 @@ process_packet_first_pass(capture_file *cf,
/* Grab any resolved addresses */
host_name_lookup_process(NULL);
+ if (cf->rfcode)
+ create_proto_tree = TRUE;
+
/* The protocol tree will be "visible", i.e., printed, only if we're
printing packet details, which is true if we're printing stuff
("print_packet_info" is true) and we're in verbose mode ("verbose"
is true). */
- epan_dissect_init(&edt, FALSE, FALSE);
+ epan_dissect_init(&edt, create_proto_tree, FALSE);
/* If we're running a read filter, prime the epan_dissect_t with that
filter. */