From d53f283c4e5d5ad64115d9e01d251a5f8c5f5679 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 13 Sep 2021 14:49:25 +0100 Subject: [Minor] Add one more check for use-after-free prevention --- src/libutil/upstream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libutil/upstream.c b/src/libutil/upstream.c index 98e766194..8c194eb79 100644 --- a/src/libutil/upstream.c +++ b/src/libutil/upstream.c @@ -775,7 +775,7 @@ rspamd_upstream_fail (struct upstream *upstream, upstream->name, reason); - if (upstream->ctx && upstream->active_idx != -1) { + if (upstream->ctx && upstream->active_idx != -1 && upstream->ls) { sec_cur = rspamd_get_ticks (FALSE); RSPAMD_UPSTREAM_LOCK (upstream); @@ -885,7 +885,7 @@ rspamd_upstream_ok (struct upstream *upstream) struct upstream_list_watcher *w; RSPAMD_UPSTREAM_LOCK (upstream); - if (upstream->errors > 0 && upstream->active_idx != -1) { + if (upstream->errors > 0 && upstream->active_idx != -1 && upstream->ls) { /* We touch upstream if and only if it is active */ msg_debug_upstream ("reset errors on upstream %s (was %ud)", upstream->name, upstream->errors); upstream->errors = 0; -- cgit v1.2.3