From: Amaury Denoyelle Date: Wed, 20 Oct 2021 13:22:20 +0000 (+0200) Subject: BUG/MINOR: backend: fix improper insert in avail tree for always reuse X-Git-Tag: v2.5-dev11~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aee4fdbd175b66b2263e7676ab3dc4f3f780ccab;p=thirdparty%2Fhaproxy.git BUG/MINOR: backend: fix improper insert in avail tree for always reuse In connect_server(), if http-reuse always is set, the backend connection is inserted into the available tree as soon as created. However, the hash connection field is only set later at the end of the function. This seems to have no impact as the hash connection field is always position before a lookup. However, this is not a proper usage of ebmb API. Fix this by setting the hash connection field before the insertion into the avail tree. This must be backported up to 2.4. --- diff --git a/src/backend.c b/src/backend.c index 4c7aba1f89..6d77864db9 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1523,6 +1523,8 @@ skip_reuse: conn_free(srv_conn); return SF_ERR_RESOURCE; } + + srv_conn->hash_node->hash = hash; } } @@ -1746,8 +1748,6 @@ skip_reuse: } } - srv_conn->hash_node->hash = hash; - return SF_ERR_NONE; /* connection is OK */ }