]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: H2: Don't forget to free shared_rx_bufs on failure
authorOlivier Houchard <ohouchard@haproxy.com>
Wed, 22 Apr 2026 16:57:39 +0000 (18:57 +0200)
committerWilly Tarreau <w@1wt.eu>
Thu, 23 Apr 2026 06:12:46 +0000 (08:12 +0200)
In h2_init(), if we have a failure while creating the h2c, and we
allocated shared_tx_bufs, don't forget to free it, otherwise we'll have
a memory leak.

This was introduced in 3.1 by commit a891534bfd ("MINOR: mux-h2: allocate
the array of shared rx bufs in the h2c"), so the fix should be backported
as far as 3.2.

src/mux_h2.c

index ab15221e37e60bf5be426d08739816bb1f0c558c..2ff7b2c2feaa54e4ca8263d5c86610947016bcb3 100644 (file)
@@ -1519,6 +1519,7 @@ static int h2_init(struct connection *conn, struct proxy *prx, struct session *s
   fail:
        task_destroy(t);
        tasklet_free(h2c->wait_event.tasklet);
+       pool_free(pool_head_h2_rx_bufs, h2c->shared_rx_bufs);
        pool_free(pool_head_h2c, h2c);
   fail_no_h2c:
        if (!conn_is_back(conn))