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.
diff --git a/include/proto/connection.h b/include/proto/connection.h
index f1919ce..8a2884e 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -99,6 +99,7 @@
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;
}
}