Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 5284] new_packet_list: redissection + redraw crashes when

Date: Mon, 1 Nov 2010 08:05:38 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5284

--- Comment #3 from Jeff Morriss <jeff.morriss.ws@xxxxxxxxx> 2010-11-01 08:05:31 PDT ---
(In reply to comment #2)
> At least some the other stuff that's attached to an epan_dissect_t is *not*
> allocated from the ephemeral storage pool; if we were to g_mallocate the data
> sources and names, and g_free them in free_data_sources(), that should at least
> fix this problem.

I looked at using malloc()'d memory for the data sources (essentially reverting
rev 15346), but free_data_sources() is called from epan_dissect_cleanup()
(which is called from packet_list_dissect_and_cache_record()).  So: we'd need
to be able to defer freeing the memory until even later.  I'm not when that
"later" would have to be.

Honestly I was hoping there was a way to prevent or defer the new dissection
(that occurs during add_byte_tab()).  Maybe freezing the packet list so it
doesn't move during add_byte_tab()? I don't understand the GUI stuff to hazard
more than a guess here though.

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.