BUG/MINOR: srv: do not init address if backend is disabled

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.
This commit is contained in:
Amaury Denoyelle 2021-01-06 14:28:50 +01:00 committed by Christopher Faulet
parent 1e9a66603f
commit e3c4192962

View 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)