summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-11-18 09:01:00 -0800
committerGerald Combs <gerald@wireshark.org>2015-11-18 20:29:47 +0000
commitfbbc605235c03058b2cb73f22422ac3741759d53 (patch)
tree44df9d2f3ea8f5e678e92c5b3c78ce21b71718e1
parent1f3e0c03c548ef84b4ce36e224102dae6b914ad5 (diff)
downloadwireshark-fbbc605235c03058b2cb73f22422ac3741759d53.tar.gz
Revert: Free cf->edt before free cf->epan when redissecting.
Instead of freeing cf->edt before clearing the packet list, add an extra check to MainWindow::setMenusForSelectedTreeRow. Semi-blind attempt at fixing bug 11719. This reverts commit 8c211d51ef66b64c708f7ad079e7e7e913ac9f14. This reverts commit da71ccbf778cca5d9c48e010597570a40fd190c0. Bug: 11719 Change-Id: Ifd07be414ffd03a40bdfa7110395c9542bd86fc4 Reviewed-on: https://code.wireshark.org/review/11943 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org> (cherry picked from commit 3d3eb159a757c1b7f3abc0d2c81f8e38e206243b) Reviewed-on: https://code.wireshark.org/review/11953
-rw-r--r--file.c4
-rw-r--r--ui/qt/main_window_slots.cpp2
2 files changed, 1 insertions, 5 deletions
diff --git a/file.c b/file.c
index 84f1db12e5..85bca90fbc 100644
--- a/file.c
+++ b/file.c
@@ -1631,10 +1631,6 @@ rescan_packets(capture_file *cf, const char *action, const char *action_item, gb
cf->redissecting = TRUE;
/* 'reset' dissection session */
- if (cf->edt) {
- epan_dissect_free(cf->edt);
- cf->edt = NULL;
- }
epan_free(cf->epan);
cf->epan = ws_epan_new(cf);
cf->cinfo.epan = cf->epan;
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index f24f6466c9..5db040b0ec 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -1271,7 +1271,7 @@ void MainWindow::setMenusForSelectedTreeRow(field_info *fi) {
bool enable = false;
QString filter;
- if (capture_file_.capFile() && capture_file_.capFile()->edt) {
+ if (fi && capture_file_.capFile() && capture_file_.capFile()->edt) {
enable = conv_filter->is_filter_valid(&capture_file_.capFile()->edt->pi);
filter = conv_filter->build_filter_string(&capture_file_.capFile()->edt->pi);
}