]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: h2: Set the target of dbuf_wait to h2c
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 26 Feb 2018 12:43:38 +0000 (13:43 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 26 Feb 2018 16:33:16 +0000 (17:33 +0100)
In h2_get_dbuf, when the buffer allocation was failing, dbuf_wait.target was
errornously set to the connection (h2c->conn) instead of the h2 connection
descriptor (h2c).

This patch must be backported to 1.8.

src/mux_h2.c

index 9b42d7bbe13eb455ec7226b6e5d4a52e27fd03d1..de05ca04afe01fb6988331032987039f76ab15a2 100644 (file)
@@ -277,7 +277,7 @@ static inline struct buffer *h2_get_dbuf(struct h2c *h2c)
 
        if (likely(LIST_ISEMPTY(&h2c->dbuf_wait.list)) &&
            unlikely((buf = b_alloc_margin(&h2c->dbuf, 0)) == NULL)) {
-               h2c->dbuf_wait.target = h2c->conn;
+               h2c->dbuf_wait.target = h2c;
                h2c->dbuf_wait.wakeup_cb = h2_dbuf_available;
                HA_SPIN_LOCK(BUF_WQ_LOCK, &buffer_wq_lock);
                LIST_ADDQ(&buffer_wq, &h2c->dbuf_wait.list);