]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
Revert "BUG/MEDIUM: H1: When upgrading, make sure we don't free the buffer too early."
authorOlivier Houchard <cognet@ci0.org>
Tue, 11 Jun 2019 12:06:23 +0000 (14:06 +0200)
committerOlivier Houchard <cognet@ci0.org>
Tue, 11 Jun 2019 12:07:53 +0000 (14:07 +0200)
This reverts commit 6c7fe5c3700fac7cc945b2b756df30874cbf77a6.

This patch was harmless, but not needed, conn_upgrade_mux_fe() already takes
care of setting the buffer to BUF_NULL.

src/mux_h1.c

index 84a456088c2f446b262d2a7189333ed6351a1f06..c9c8f84cafc8196b55160c146dfce7c01de627a3 100644 (file)
@@ -464,18 +464,16 @@ static void h1_release(struct h1c *h1c)
                        conn = h1c->conn;
 
                if (conn && h1c->flags & H1C_F_UPG_H2C) {
-                       struct buffer tmpbuf = h1c->ibuf;
                        h1c->flags &= ~H1C_F_UPG_H2C;
-                       h1c->ibuf = BUF_NULL;
-                       if (conn_upgrade_mux_fe(conn, NULL, &tmpbuf, ist("h2"), PROTO_MODE_HTX) != -1) {
+                       if (conn_upgrade_mux_fe(conn, NULL, &h1c->ibuf, ist("h2"), PROTO_MODE_HTX) != -1) {
                                /* connection successfully upgraded to H2, this
                                 * mux was already released */
                                return;
                        }
-                       h1c->ibuf = tmpbuf;
                        sess_log(conn->owner); /* Log if the upgrade failed */
                }
 
+
                if (!LIST_ISEMPTY(&h1c->buf_wait.list)) {
                        HA_SPIN_LOCK(BUF_WQ_LOCK, &buffer_wq_lock);
                        LIST_DEL(&h1c->buf_wait.list);