https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5284
--- Comment #2 from Guy Harris <guy@xxxxxxxxxxxx> 2010-10-31 17:43:31 PDT ---
On problem here is that we don't have per-epan_dissect_t ephemeral storage
pools, we only have one ephemeral storage pool, so, even though we might have
two active epan_dissect_t's - in this case, the one pointed to by cfile.edt
(see main_cf_cb_packet_selected(), where it calls add_main_byte_views(cf->edt))
and the one in packet_list_dissect_and_cache_record() - if we run a dissection
in one of them, and then run a dissection in the other one, that will trash,
for example, the names for the data sources in the first of them.
However, fixing that would involve changing calls to the ep_ routines to take
an argument to specify the storage pool to use, which would be a significant
change.
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.
--
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.