BUG/MINOR: peers: avoid an infinite loop with peers_fe is NULL
authorWilliam Lallemand <wlallemand@haproxy.com>
Tue, 24 Mar 2020 15:42:15 +0000 (16:42 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 31 Mar 2020 14:52:58 +0000 (16:52 +0200)
Fix an infinite loop which was added in an attempt to fix #558.
If the peers_fe is NULL, it will loop forever.

Must be backported with a2cfd7e as far as 1.8.

(cherry picked from commit 3ef2d565303af6dd7c24b62fdb22e43f1d1638bf)
Signed-off-by: Willy Tarreau <w@1wt.eu>

src/cfgparse.c

index ab4a89c..cbba423 100644 (file)
@@ -3906,11 +3906,10 @@ out_uri_auth_compat:
                 stick-table used in the configuration, set its bind_proc
                 by default to the first process. */
                while (curpeers) {
-                       if (!curpeers->peers_fe)
-                               continue;
-                       if (curpeers->peers_fe->bind_proc == 0)
-                               curpeers->peers_fe->bind_proc = 1;
-
+                       if (curpeers->peers_fe) {
+                               if (curpeers->peers_fe->bind_proc == 0)
+                                       curpeers->peers_fe->bind_proc = 1;
+                       }
                        curpeers = curpeers->next;
                }