summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2015-11-18 08:15:39 +0100
committerStig Bjørlykke <stig@bjorlykke.org>2015-11-18 07:18:38 +0000
commitf5648017bd4431f6030ed79465d9840102816945 (patch)
tree1a29b0aecf7d7f35ee667178f1cc0dfb15d3c8c9
parenta21709eabb83f4944babdd55034e8b15a13a41b3 (diff)
downloadwireshark-f5648017bd4431f6030ed79465d9840102816945.tar.gz
epan: Check for valid cf->edt before free.
Added a check for a valid cf->edt before calling epan_dissect_free(), as this will give an unintended assert. This is related to da71ccbf778cca5d9c48e010597570a40fd190c0. Change-Id: I7f7ceb1b25cfa2400063947f674df10ed6a93e9d Reviewed-on: https://code.wireshark.org/review/11934 Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org> (cherry picked from commit 8c211d51ef66b64c708f7ad079e7e7e913ac9f14) Reviewed-on: https://code.wireshark.org/review/11935
-rw-r--r--file.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/file.c b/file.c
index 06134f22a9..84f1db12e5 100644
--- a/file.c
+++ b/file.c
@@ -1631,8 +1631,10 @@ rescan_packets(capture_file *cf, const char *action, const char *action_item, gb
cf->redissecting = TRUE;
/* 'reset' dissection session */
- epan_dissect_free(cf->edt);
- cf->edt = NULL;
+ 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;