]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: config: clear proxy->table.peers.p for disabled proxies
authorWilly Tarreau <w@1wt.eu>
Fri, 1 May 2015 17:59:56 +0000 (19:59 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 1 May 2015 18:05:25 +0000 (20:05 +0200)
If a table in a disabled proxy references a peers section, the peers
name is not resolved to a pointer to a table, but since it belongs to
a union, it can later be dereferenced. Right now it seems it cannot
happen, but it definitely will after the pending changes.

It doesn't cost anything to backport this into 1.5, it will make gdb
sessions less head-scratching.

src/cfgparse.c

index 8ab7da92d6502151e0be7fad455f8d818fbae9e2..ce0517c6a1d2818d1c9ef3fd5e51035a3b6459c7 100644 (file)
@@ -6492,6 +6492,8 @@ int check_config_validity()
                if (curproxy->state == PR_STSTOPPED) {
                        /* ensure we don't keep listeners uselessly bound */
                        stop_proxy(curproxy);
+                       free((void *)curproxy->table.peers.name);
+                       curproxy->table.peers.p = NULL;
                        continue;
                }