commit d53f283: [Minor] Add one more check for use-after-free prevention

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Sep 13 13:56:04 UTC 2021


Author: Vsevolod Stakhov
Date: 2021-09-13 14:49:25 +0100
URL: https://github.com/rspamd/rspamd/commit/d53f283c4e5d5ad64115d9e01d251a5f8c5f5679 (HEAD -> master)

[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;


More information about the Commits mailing list