aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgilles <gilles@poolp.org>2016-06-25 00:35:21 +0200
committergilles <gilles@poolp.org>2016-06-25 00:35:21 +0200
commit2d80e41e25e000836d158d45a7d04569beec7c9d (patch)
tree762648964f72aa455326ae8378644f22085ddd28
parentif EVENT_DISCONNECT is received before we get a chance to commit/rollback, (diff)
downloadOpenSMTPD-extras-2d80e41e25e000836d158d45a7d04569beec7c9d.tar.xz
OpenSMTPD-extras-2d80e41e25e000836d158d45a7d04569beec7c9d.zip
not dereferencing a bogus pointer is probably better...
-rw-r--r--api/filter_api.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/api/filter_api.c b/api/filter_api.c
index 2e9f071..febf961 100644
--- a/api/filter_api.c
+++ b/api/filter_api.c
@@ -275,6 +275,7 @@ filter_dispatch(struct mproc *p, struct imsg *imsg)
break;
case EVENT_DISCONNECT:
filter_dispatch_disconnect(id);
+ s = tree_xget(&sessions, id);
if (fi.transaction_destructor) {
if (s->transaction) {
fi.transaction_destructor(s->transaction);
@@ -282,7 +283,6 @@ filter_dispatch(struct mproc *p, struct imsg *imsg)
}
}
if (fi.session_destructor) {
- s = tree_xget(&sessions, id);
if (s->session)
fi.session_destructor(s->session);
}