From 52ce3167866d7f29ebe773d6a6a5b21774ee29d4 Mon Sep 17 00:00:00 2001 From: Frederic Lecaille Date: Thu, 28 May 2026 07:54:32 +0200 Subject: [PATCH] BUG/MINOR: quic: fix ack range node pool_free call passing wrong pointer type In quic_insert_new_range(), the variable 'first' is a struct eb64_node*, but pool_free expects a struct quic_arng_node*. While the addresses are identical (since 'first' is the first member of quic_arng_node), this is technically incorrect and should use eb64_entry() for proper type safety. Must be backported to all versions. --- src/quic_ack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/quic_ack.c b/src/quic_ack.c index bb6e5cfad..228283b6d 100644 --- a/src/quic_ack.c +++ b/src/quic_ack.c @@ -86,7 +86,7 @@ struct quic_arng_node *quic_insert_new_range(struct quic_conn *qc, first = eb64_first(&arngs->root); BUG_ON(first == NULL); eb64_delete(first); - pool_free(pool_head_quic_arng, first); + pool_free(pool_head_quic_arng, eb64_entry(first, struct quic_arng_node, first)); arngs->sz--; }