]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: lb_fwlc: Don't test the server's lb_tree from outside the lock
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 19 Jun 2019 08:50:38 +0000 (10:50 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 19 Jun 2019 11:55:57 +0000 (13:55 +0200)
commit1ae2a8878170ded922f2c4d32b6704af7689bbfd
tree57cdf531168a13748dc26d704c359a4c923503e2
parent4f09ec812adbd9336cddc054660a7fb5cd54b459
BUG/MEDIUM: lb_fwlc: Don't test the server's lb_tree from outside the lock

In the function fwlc_srv_reposition(), the server's lb_tree is tested from
outside the lock. So it is possible to remove it after the test and then call
eb32_insert() in fwlc_queue_srv() with a NULL root pointer, which is
invalid. Moving the test in the scope of the lock fixes the bug.

This issue was reported on Github, issue #126.

This patch must be backported to 2.0, 1.9 and 1.8.
src/lb_fwlc.c