]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: mux-fcgi: Return from detach if server don't keep the connection
authorChristopher Faulet <cfaulet@haproxy.com>
Sat, 2 May 2020 07:08:54 +0000 (09:08 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Sat, 2 May 2020 07:37:03 +0000 (09:37 +0200)
When the last stream is detached from a FCGI connection, if the server don't add
the connection in its idle list, the connection is destroyed. Thus it is
important to exist immediately from the detach function. A return statement is
missing here.

This bug was introduced in the commit 2444aa5b6 ("MEDIUM: sessions: Don't be
responsible for connections anymore.").

It is a 2.2-dev bug. No need to backport.

src/mux_fcgi.c

index cef3074a3c287d1651ff0a26b68a26b1a7f3ac44..f6a2f7c143ef2a9f97e67e35b8d0808a3b57c40b 100644 (file)
@@ -3542,6 +3542,7 @@ static void fcgi_detach(struct conn_stream *cs)
                                        /* let's kill the connection right away */
                                        fconn->conn->mux->destroy(fconn);
                                        TRACE_DEVEL("outgoing connection killed", FCGI_EV_STRM_END|FCGI_EV_FCONN_ERR);
+                                       return;
                                }
                        }
                }