diff --git a/src/cfgparse.c b/src/cfgparse.c index 133ef601e..a5af90b24 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -7246,10 +7246,14 @@ int check_config_validity() global.stats_fe->bind_proc = ~0UL; } - /* propagate bindings from frontends to backends */ - for (curproxy = proxy; curproxy; curproxy = curproxy->next) { - if (curproxy->cap & PR_CAP_FE) - propagate_processes(curproxy, NULL); + /* propagate bindings from frontends to backends. Don't do it if there + * are any fatal errors as we must not call it with unresolved proxies. + */ + if (!cfgerr) { + for (curproxy = proxy; curproxy; curproxy = curproxy->next) { + if (curproxy->cap & PR_CAP_FE) + propagate_processes(curproxy, NULL); + } } /* Bind each unbound backend to all processes when not specified. */