From: Vsevolod Stakhov Date: Mon, 13 Sep 2021 13:49:25 +0000 (+0100) Subject: [Minor] Add one more check for use-after-free prevention X-Git-Tag: 3.1~168 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d53f283c4e5d5ad64115d9e01d251a5f8c5f5679;p=thirdparty%2Frspamd.git [Minor] Add one more check for use-after-free prevention --- diff --git a/src/libutil/upstream.c b/src/libutil/upstream.c index 98e766194a..8c194eb797 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;