diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-04-29 15:47:09 +0200 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2014-04-29 17:06:02 +0000 |
commit | dfb92dfd674474b89fa6a2d833b01443b1183032 (patch) | |
tree | 09a0b4b2727be89330f55d05d36cfbc867ad175e /file.c | |
parent | b60ccf6dae9c3f29fce8644cebb685246a349921 (diff) |
Fix crash when switching profiles
rescan_packets() starts a new dissection session by free'ing the
previous state and creating a new one. A reference to the old session
was not updated though.
This is the only place where epan is overwritten. After init, col_init
will at some point initialize cf->cinfo.epan with a cf->epan.
Bug: 9463
Change-Id: I8cf4e0823328f44a0dccfeeec1594f9929829d2d
Reviewed-on: https://code.wireshark.org/review/1430
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1890,6 +1890,7 @@ rescan_packets(capture_file *cf, const char *action, const char *action_item, gb /* 'reset' dissection session */ epan_free(cf->epan); cf->epan = ws_epan_new(cf); + cf->cinfo.epan = cf->epan; /* We need to redissect the packets so we have to discard our old * packet list store. */ |