From 478281f55d46e85650e218893c78ce1d0ede13b3 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Mon, 13 May 2019 19:10:46 +0200 Subject: [PATCH] BUG/MEDIUM: connections: Don't forget to set xprt_ctx to NULL on close. In conn_xprt_close(), after calling xprt->close(), don't forget to set conn->xprt_ctx to NULL, or we may attempt to reuse the now-free'd conn->xprt_ctx if the connection failed and we're retrying it. --- include/proto/connection.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/proto/connection.h b/include/proto/connection.h index f1919ce71..8a2884e2d 100644 --- a/include/proto/connection.h +++ b/include/proto/connection.h @@ -99,6 +99,7 @@ static inline void conn_xprt_close(struct connection *conn) if ((conn->flags & (CO_FL_XPRT_READY|CO_FL_XPRT_TRACKED)) == CO_FL_XPRT_READY) { if (conn->xprt->close) conn->xprt->close(conn, conn->xprt_ctx); + conn->xprt_ctx = NULL; conn->flags &= ~CO_FL_XPRT_READY; } }