Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8714 :
authormorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 24 May 2013 15:28:04 +0000 (15:28 +0000)
committermorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 24 May 2013 15:28:04 +0000 (15:28 +0000)
If we're not doing dissection (in 2-pass mode) then don't try to mark frames
as depended upon: in that case epan has not been initialized so we shouldn't
be looking in the edt (and anyway without dissection there won't be any
dependent frames).

(I'm not convinced there's any reason to run 2-pass mode without dissection,
however...)

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@49554 f5534014-38df-0310-8fa8-9805f1628bb7

tshark.c

index d998bc028561277a860786523f50440b9891f30d..a852b8355cd98a6849df228aac5ebad23e2669ee 100644 (file)
--- a/tshark.c
+++ b/tshark.c
@@ -2713,7 +2713,13 @@ process_packet_first_pass(capture_file *cf,
     frame_data_set_after_dissect(&fdlocal, &cum_bytes);
     prev_cap = prev_dis = frame_data_sequence_add(cf->frames, &fdlocal);
 
-    g_slist_foreach(edt.pi.dependent_frames, find_and_mark_frame_depended_upon, cf->frames);
+    /* If we're not doing dissection then there won't be any dependent frames.
+     * More importantly, edt.pi.dependent_frames won't be initialized because
+     * epan hasn't been initialized.
+     */
+    if (do_dissection) {
+      g_slist_foreach(edt.pi.dependent_frames, find_and_mark_frame_depended_upon, cf->frames);
+    }
 
     cf->count++;
   } else {