diff options
Diffstat (limited to 'usr.sbin/smtpd')
-rw-r--r-- | usr.sbin/smtpd/lka_filter.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.sbin/smtpd/lka_filter.c b/usr.sbin/smtpd/lka_filter.c index bf7c721a501..4c5ee665698 100644 --- a/usr.sbin/smtpd/lka_filter.c +++ b/usr.sbin/smtpd/lka_filter.c @@ -1,4 +1,4 @@ -/* $OpenBSD: lka_filter.c,v 1.48 2019/09/06 08:23:56 martijn Exp $ */ +/* $OpenBSD: lka_filter.c,v 1.49 2019/09/10 19:30:12 gilles Exp $ */ /* * Copyright (c) 2018 Gilles Chehade <gilles@poolp.org> @@ -460,7 +460,10 @@ lka_filter_process_response(const char *name, const char *line) response = ep+1; - fs = tree_xget(&sessions, reqid); + /* session can legitimately disappear on a resume */ + if ((fs = tree_xget(&sessions, reqid)) == NULL) + return; + if (strcmp(kind, "filter-dataline") == 0) { if (fs->phase != FILTER_DATA_LINE) fatalx("filter-dataline out of dataline phase"); |