From: Amaury Denoyelle Date: Tue, 29 Mar 2022 12:46:55 +0000 (+0200) Subject: BUG/MINOR: h3: release resources on close X-Git-Tag: v2.6-dev5~86 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8347f27221a3cdeae5e86b2756859e18b34e098a;p=thirdparty%2Fhaproxy.git BUG/MINOR: h3: release resources on close Implement the release app-ops ops for H3 layer. This is used to clean up uni-directional streams and the h3 context. This prevents a memory leak on H3 resources for each connection. --- diff --git a/src/h3.c b/src/h3.c index 463c1318ad..4d373f5d93 100644 --- a/src/h3.c +++ b/src/h3.c @@ -892,6 +892,15 @@ static int h3_init(struct qcc *qcc) return 0; } +static void h3_release(void *ctx) +{ + struct h3 *h3 = ctx; + + h3_uqs_release_all(h3); + h3_uqs_tasklets_release(h3); + pool_free(pool_head_h3, h3); +} + /* HTTP/3 application layer operations */ const struct qcc_app_ops h3_ops = { .init = h3_init, @@ -899,4 +908,5 @@ const struct qcc_app_ops h3_ops = { .decode_qcs = h3_decode_qcs, .snd_buf = h3_snd_buf, .finalize = h3_finalize, + .release = h3_release, };