From 3ef955c85a4a7cedd258bdbd5ad6df93fa405be4 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 1 Jul 2021 22:35:18 +0100 Subject: [PATCH] Fix oversight in build_server_array(). The index computation went awry when servers are disabled by the loop-detection system. Thanks to Xingcong Li for spotting this. --- src/domain-match.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/domain-match.c b/src/domain-match.c index 9b9d682..f11edc2 100644 --- a/src/domain-match.c +++ b/src/domain-match.c @@ -65,7 +65,7 @@ void build_server_array(void) count = 0; - for (serv = daemon->servers; serv; serv = serv->next, count++) + for (serv = daemon->servers; serv; serv = serv->next) #ifdef HAVE_LOOP if (!(serv->flags & SERV_LOOP)) #endif @@ -73,6 +73,7 @@ void build_server_array(void) daemon->serverarray[count] = serv; serv->serial = count; serv->last_server = -1; + count++; } for (serv = daemon->local_domains; serv; serv = serv->next, count++)