From d76bd2d40bc26d9cb7300afb2e462c578733dcd1 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Thu, 29 Nov 2018 16:58:49 +0100 Subject: [PATCH] BUG/MEDIUM: connections: Don't forget to detach the connection from the SI. When we're deferring the mux choice until the ALPN is negociated, we attach the connection to the stream_interface until it's done, so that we can destroy it if something goes wrong and the stream is destroy. Before calling si_attach_cs() to attach the conn_stream once we have it, call si_detach_endpoint(), or is_attach_cs() would destroy the connection. --- src/backend.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend.c b/src/backend.c index 29a21dab6..7a2168acc 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1056,6 +1056,7 @@ static int conn_complete_server(struct connection *conn) goto fail; if (conn->flags & CO_FL_ERROR) goto fail; + si_detach_endpoint(&s->si[1]); cs = si_alloc_cs(&s->si[1], conn); if (!cs) goto fail;