From 81ec04ce4c2d53687d28a24d8dc171ec0ae387c5 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Tue, 31 Oct 2023 16:24:44 +0000 Subject: [PATCH] Don't create an ack frame if one isn't wanted for this pn_space The txp->want_ack value has different bit values for different pn_space values. Make sure we take that into account when we read it. Fixes #22568 --- ssl/quic/quic_txp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssl/quic/quic_txp.c b/ssl/quic/quic_txp.c index 1045e79e0fc05..82ee0ea441a18 100644 --- a/ssl/quic/quic_txp.c +++ b/ssl/quic/quic_txp.c @@ -1786,7 +1786,7 @@ static int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp, /* ACK Frames (Regenerate) */ if (a->allow_ack && tx_helper_get_space_left(h) >= MIN_FRAME_SIZE_ACK - && (txp->want_ack + && (((txp->want_ack & (1UL << pn_space)) != 0) || ossl_ackm_is_ack_desired(txp->args.ackm, pn_space)) && (ack = ossl_ackm_get_ack_frame(txp->args.ackm, pn_space)) != NULL) { WPACKET *wpkt = tx_helper_begin(h);