From 9a0f8ba837aaa5ba8acfa21354b71818cdb87901 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Tue, 24 Jan 2023 23:59:32 +0100 Subject: [PATCH] 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. --- src/connection.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/connection.c b/src/connection.c index 4a73dbcc8..97619ec26 100644 --- a/src/connection.c +++ b/src/connection.c @@ -498,6 +498,10 @@ void conn_free(struct connection *conn) pool_free(pool_head_uniqueid, istptr(conn->proxy_unique_id)); 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); conn->hash_node = NULL;