]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: srv: do not init address if backend is disabled
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 6 Jan 2021 13:28:50 +0000 (14:28 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 6 Jan 2021 15:57:17 +0000 (16:57 +0100)
Do not proceed on init_addr if the backend of the server is marked as
disabled. When marked as disabled, the server is not fully initialized
and some operation must be avoided to prevent segfault. It is correct
because there is no way to activate a disabled backend.

This fixes the github issue #1031.
This should be backported to 2.2.

src/server.c

index d1aa51dc8a8c4bd4e994ce54bcf5caa654701a92..def012728108466741dea7a8e8e5b8da8383ac46 100644 (file)
@@ -4233,7 +4233,7 @@ int srv_init_addr(void)
                struct server *srv;
 
                /* servers are in backend only */
-               if (!(curproxy->cap & PR_CAP_BE))
+               if (!(curproxy->cap & PR_CAP_BE) || curproxy->disabled)
                        goto srv_init_addr_next;
 
                for (srv = curproxy->srv; srv; srv = srv->next)