MINOR: connection: add a BUG_ON() to detect destroying connection in idle list

Add a BUG_ON() in conn_free(), to check that when we're freeing a
connection, it is not still in the idle connections tree, otherwise the
next thread that will try to use it will probably crash.
This commit is contained in:
Olivier Houchard 2023-01-24 23:59:32 +01:00 committed by Willy Tarreau
parent 083b230699
commit 9a0f8ba837

View File

@ -498,6 +498,10 @@ void conn_free(struct connection *conn)
pool_free(pool_head_uniqueid, istptr(conn->proxy_unique_id)); pool_free(pool_head_uniqueid, istptr(conn->proxy_unique_id));
conn->proxy_unique_id = IST_NULL; conn->proxy_unique_id = IST_NULL;
/* Make sure the connection is not left in the idle connection tree */
if (conn->hash_node != NULL)
BUG_ON(conn->hash_node->node.node.leaf_p != NULL);
pool_free(pool_head_conn_hash_node, conn->hash_node); pool_free(pool_head_conn_hash_node, conn->hash_node);
conn->hash_node = NULL; conn->hash_node = NULL;