mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 23:01:24 +02:00
BUG/MEDIUM: config: avoid skipping disabled proxies
Paul Taylor and Bryan Talbot found that after commit 419ead8 ("MEDIUM: config: compute the exact bind-process before listener's maxaccept"), a backend marked "disabled" would cause the next backend to be skipped and if it was the last one it would cause a segfault. The reason is that the commit above changed the "while" loop for a "for" loop but a "continue" statement still incrementing the current proxy was left in the code for disabled proxies, causing the next one to be skipped as well and the last one to try to dereference NULL when seeking ->next. The quick workaround consists in not disabling backends, or adding an empty dummy one after a disabled section. This fix must be backported to 1.5.
This commit is contained in:
parent
74f016985a
commit
06cc905813
@ -6157,7 +6157,6 @@ int check_config_validity()
|
|||||||
if (curproxy->state == PR_STSTOPPED) {
|
if (curproxy->state == PR_STSTOPPED) {
|
||||||
/* ensure we don't keep listeners uselessly bound */
|
/* ensure we don't keep listeners uselessly bound */
|
||||||
stop_proxy(curproxy);
|
stop_proxy(curproxy);
|
||||||
curproxy = curproxy->next;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user