]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: init: Initialize idle_orphan_conns for first server in server-template
authorDaniel Corbett <dcorbett@haproxy.com>
Wed, 9 Jan 2019 13:13:29 +0000 (08:13 -0500)
committerWilly Tarreau <w@1wt.eu>
Wed, 9 Jan 2019 13:45:21 +0000 (14:45 +0100)
When initializing server-template all of the servers after the first
have srv->idle_orphan_conns initialized within server_template_init()
The first server does not have this initialized and when http-reuse
is active this causes a segmentation fault when accessed from
srv_add_to_idle_list().  This patch removes the check for
srv->tmpl_info.prefix within server_finalize_init() and allows
the first server within a server-template to have srv->idle_orphan_conns
properly initialized.

This should be backported to 1.9.

src/server.c

index 4cd87849d8bca882e58f62dade23e0f30fecbfe5..bc9e8052823f7f349bd09a6c0ccc8eae0e16334b 100644 (file)
@@ -1936,7 +1936,7 @@ static int server_finalize_init(const char *file, int linenum, char **args, int
                px->srv_act++;
        srv_lb_commit_status(srv);
 
-       if (!srv->tmpl_info.prefix && srv->max_idle_conns != 0) {
+       if (srv->max_idle_conns != 0) {
                        int i;
 
                        srv->idle_orphan_conns = calloc(global.nbthread, sizeof(*srv->idle_orphan_conns));