From: Emeric Brun Date: Mon, 22 Aug 2022 08:25:11 +0000 (+0200) Subject: BUG/MAJOR: mworker: fix infinite loop on master with no proxies. X-Git-Tag: v2.7-dev5~76 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8032a276ce8007020366d18ebd7400ad5dedc4f4;p=thirdparty%2Fhaproxy.git BUG/MAJOR: mworker: fix infinite loop on master with no proxies. The master is re-exec with an empty proxies list if no master CLI is configured. This results in infinite loop since last patch: 3b68b602 ("BUG/MAJOR: log-forward: Fix log-forward proxies not fully initialized") This patch avoid to loop again on log-forward proxies list if empty. This patch should be backported until v2.3 --- diff --git a/src/cfgparse.c b/src/cfgparse.c index 989f313a93..4201c13541 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -3906,7 +3906,9 @@ out_uri_auth_compat: */ if (init_proxies_list == proxies_list) { init_proxies_list = cfg_log_forward; - goto init_proxies_list_stage1; + /* check if list is not null to avoid infinite loop */ + if (init_proxies_list) + goto init_proxies_list_stage1; } /***********************************************************/ @@ -4058,7 +4060,9 @@ init_proxies_list_stage2: */ if (init_proxies_list == proxies_list) { init_proxies_list = cfg_log_forward; - goto init_proxies_list_stage2; + /* check if list is not null to avoid infinite loop */ + if (init_proxies_list) + goto init_proxies_list_stage2; } if (diag_no_cluster_secret)