diff options
author | Richard Sharpe <sharpe@ns.aus.com> | 2000-09-11 07:33:56 +0000 |
---|---|---|
committer | Richard Sharpe <sharpe@ns.aus.com> | 2000-09-11 07:33:56 +0000 |
commit | bf98417be05a76e93fd3976fef85110be51be780 (patch) | |
tree | 011a697a670cc07db6fe94c72269b9c33a765ea6 /file.c | |
parent | 332d5715e8898cc1552aa95847b93166d5478f5e (diff) | |
download | wireshark-bf98417be05a76e93fd3976fef85110be51be780.tar.gz wireshark-bf98417be05a76e93fd3976fef85110be51be780.tar.bz2 wireshark-bf98417be05a76e93fd3976fef85110be51be780.zip |
We have to free up the per-frame data when we rescan, because we have
called packet_init_proto, which blows away the items the list points to.
svn path=/trunk/; revision=2408
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -1,7 +1,7 @@ /* file.c * File I/O routines * - * $Id: file.c,v 1.217 2000/09/10 06:44:33 guy Exp $ + * $Id: file.c,v 1.218 2000/09/11 07:33:55 sharpe Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -981,6 +981,15 @@ rescan_packets(capture_file *cf, const char *action, gboolean refilter, fdata->pfd = NULL; } + /* If there is any per-frame data, delete that, as what it points to + * has gone as well. + */ + + if (fdata->pfd) { + g_slist_free(fdata->pfd); + fdata->pfd = NULL; + } + wtap_seek_read (cf->wth, fdata->file_off, &cf->pseudo_header, cf->pd, fdata->cap_len); |