MINOR: mux-h1: use explicit __objt_server on idle conn reinsert

When dealing with a backend connection, H1 mux IO handler must reinsert
it in its idle list pool if it was extracted from it at the beginning.
This is the case if conn_in_list is true.

On reinsert, idle list pool is retrieved via the server instance
accessible from <conn.target>. Replace objt_server usage with
__objt_server as an idle connection is always attached to a server. This
ensures that there is no issue when using _srv_add_idle() then.

This should fix coverity report from github issue #2810.
This commit is contained in:
Amaury Denoyelle 2024-12-06 16:47:53 +01:00
parent 7934eef25d
commit ece3bf65ca

View File

@ -4252,7 +4252,7 @@ struct task *h1_io_cb(struct task *t, void *ctx, unsigned int state)
t = NULL;
if (!ret && conn_in_list) {
struct server *srv = objt_server(conn->target);
struct server *srv = __objt_server(conn->target);
HA_SPIN_LOCK(IDLE_CONNS_LOCK, &idle_conns[tid].idle_conns_lock);
_srv_add_idle(srv, conn, conn_in_list == CO_FL_SAFE_LIST);