BUG/MEDIUM: servers: Close the connection if we failed to install the mux.
If we failed to install the mux, just close the connection, or
conn_fd_handler() will be called for the FD, and crash as soon as it attempts
to access the mux' wake method.
This should be backported to 1.9.
diff --git a/src/backend.c b/src/backend.c
index 82c71c4..e4bd5bf 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1465,8 +1465,10 @@
* fail, and flag the connection as CO_FL_ERROR.
*/
if (init_mux) {
- if (conn_install_mux_be(srv_conn, srv_cs, s->sess) < 0)
+ if (conn_install_mux_be(srv_conn, srv_cs, s->sess) < 0) {
+ conn_full_close(srv_conn);
return SF_ERR_INTERNAL;
+ }
/* If we're doing http-reuse always, and the connection
* is an http2 connection, add it to the available list,
* so that others can use it right away.