mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
BUG/MINOR: quic: fix qc.cids access on quic-conn fail alloc
CIDs tree is now allocated dynamically since the following commit :
276697438d
MINOR: quic: Use a pool for the connection ID tree.
This can caused a crash if qc_new_conn() is interrupted due to an
intermediary failed allocation. When freeing all connection members,
free_quic_conn_cids() is used. However, this function does not support a
NULL cids.
To fix this, simply check that cids is NULL during free_quic_conn_cids()
prologue.
This bug was reproduced using -dMfail.
No need to backport.
This commit is contained in:
parent
5798b5bb14
commit
7d76ffb2a4
@ -209,6 +209,9 @@ static inline void free_quic_conn_cids(struct quic_conn *conn)
|
|||||||
{
|
{
|
||||||
struct eb64_node *node;
|
struct eb64_node *node;
|
||||||
|
|
||||||
|
if (!conn->cids)
|
||||||
|
return;
|
||||||
|
|
||||||
node = eb64_first(conn->cids);
|
node = eb64_first(conn->cids);
|
||||||
while (node) {
|
while (node) {
|
||||||
struct quic_connection_id *conn_id;
|
struct quic_connection_id *conn_id;
|
||||||
|
Loading…
Reference in New Issue
Block a user