]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: lb_fas: Don't test the server's lb_tree from outside the lock
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 4 Jul 2019 09:59:42 +0000 (11:59 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 5 Jul 2019 12:26:15 +0000 (14:26 +0200)
commit16b2be93ad9e7db2d57ca5aaa4ca629efecd6530
tree807b9b73ab020c7f9570adc9618bec49bbda96fa
parent8f1aa77b423b85012c062149f16ceb8f3aacefea
BUG/MEDIUM: lb_fas: Don't test the server's lb_tree from outside the lock

In the function fas_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 fas_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_fas.c