BUG/MEDIUM: servers: Fail if we fail to allocate a conn_stream.
If, for some reason we failed to allocate a conn_stream when reusing an
existing connection, set srv_conn to NULL, so that we fail later, instead
of pretending all is right. This ends up giving a stream_interface with
no endpoint, and so the stream will never end.
This should be backported to 1.9.
diff --git a/src/backend.c b/src/backend.c
index bc38c57..d52f484 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1278,6 +1278,8 @@
srv_cs = srv_conn->mux->attach(srv_conn, s->sess);
if (srv_cs)
si_attach_cs(&s->si[1], srv_cs);
+ else
+ srv_conn = NULL;
}
}
if (srv_conn && old_conn != srv_conn) {