aboutsummaryrefslogtreecommitdiffstats
path: root/epan/epan.c
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2012-10-20 20:04:40 +0000
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2012-10-20 20:04:40 +0000
commit2fd81fdaf92927c97482d42ce5f8ba9d5d25d607 (patch)
tree68c2121b1ef1d4c00e78228a42063a47b81bf160 /epan/epan.c
parentb53dbea042a90e550fdc7e43c1453144510b6df1 (diff)
Move ep_free_all() *AFTER* packet dissection.
Use glib allocator for data_source. Thread on wireshark-dev: http://www.wireshark.org/lists/wireshark-dev/201210/msg00116.html svn path=/trunk/; revision=45673
Diffstat (limited to 'epan/epan.c')
-rw-r--r--epan/epan.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/epan/epan.c b/epan/epan.c
index 8647a5c78e..2de4da2938 100644
--- a/epan/epan.c
+++ b/epan/epan.c
@@ -192,22 +192,22 @@ void
epan_dissect_run(epan_dissect_t *edt, struct wtap_pkthdr *phdr,
const guint8* data, frame_data *fd, column_info *cinfo)
{
- /* free all memory allocated during previous packet */
- ep_free_all();
-
dissect_packet(edt, phdr, data, fd, cinfo);
+
+ /* free all memory allocated */
+ ep_free_all();
}
void
epan_dissect_run_with_taps(epan_dissect_t *edt, struct wtap_pkthdr *phdr,
const guint8* data, frame_data *fd, column_info *cinfo)
{
- /* free all memory allocated during previous packet */
- ep_free_all();
-
tap_queue_init(edt);
dissect_packet(edt, phdr, data, fd, cinfo);
tap_push_tapped_queue(edt);
+
+ /* free all memory allocated */
+ ep_free_all();
}
void