> On Sep 26, 2015, at 10:41 PM, sudhe...@apache.org wrote: > > Repository: trafficserver > Updated Branches: > refs/heads/master f9a6930fc -> ae9a343a9 > > > [TS-3949] Prevent active timeout event from firing > after PluginVC is closed. > > > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo > Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/ae9a343a > Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/ae9a343a > Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/ae9a343a > > Branch: refs/heads/master > Commit: ae9a343a9ba861240d938c3c47391e3de5011a25 > Parents: f9a6930 > Author: Sudheer Vinukonda <sudhe...@yahoo-inc.com> > Authored: Sun Sep 27 05:41:10 2015 +0000 > Committer: Sudheer Vinukonda <sudhe...@yahoo-inc.com> > Committed: Sun Sep 27 05:41:10 2015 +0000 > > ---------------------------------------------------------------------- > proxy/PluginVC.cc | 6 ++++++ > 1 file changed, 6 insertions(+) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ae9a343a/proxy/PluginVC.cc > ---------------------------------------------------------------------- > diff --git a/proxy/PluginVC.cc b/proxy/PluginVC.cc > index d1072ad..fb29696 100644 > --- a/proxy/PluginVC.cc > +++ b/proxy/PluginVC.cc > @@ -743,6 +743,12 @@ PluginVC::process_timeout(Event **e, int event_to_send) > { > ink_assert(*e == inactive_event || *e == active_event); > > + if (closed) { > + // already closed, ignore the timeout event > + // to avoid handle_event asserting use-after-free > + return; > + }
Then isn't reading PluginVC::closed also a use-after-free? J