mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-12-07 18:51:21 +01:00
MINOR: quic: Wrong Initial packet connection initialization
->qc (QUIC connection) member of packet structure were badly initialized when received as second Initial packet (from picoquic -Q for instance). This leaded to corrupt the quic_conn structure with random behaviors as size effects. This bug came with this commit: "MINOR: quic: Possible wrong connection identification"
This commit is contained in:
parent
ca98a7f9c0
commit
f67b35620e
@ -3759,9 +3759,9 @@ static ssize_t qc_lstnr_pkt_rcv(unsigned char **buf, const unsigned char *end,
|
||||
}
|
||||
HA_RWLOCK_WRUNLOCK(QUIC_LOCK, &l->rx.cids_lock);
|
||||
|
||||
pkt->qc = qc;
|
||||
if (n == &qc->odcid_node) {
|
||||
/* Enqueue this packet. */
|
||||
pkt->qc = qc;
|
||||
MT_LIST_APPEND(&l->rx.pkts, &pkt->rx_list);
|
||||
/* Try to accept a new connection. */
|
||||
listener_accept(l);
|
||||
@ -3769,6 +3769,7 @@ static ssize_t qc_lstnr_pkt_rcv(unsigned char **buf, const unsigned char *end,
|
||||
else {
|
||||
quic_conn_free(qc);
|
||||
qc = ebmb_entry(n, struct quic_conn, odcid_node);
|
||||
pkt->qc = qc;
|
||||
}
|
||||
|
||||
/* This is the DCID node sent in this packet by the client. */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user