summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2023-10-20 12:33:25 +0100
committerMatt Caswell <matt@openssl.org>2023-10-24 17:35:54 +0100
commit86e11b1e78ad6937ef32d64ca34013306c9abc28 (patch)
tree913fd92eb244b516795cad7f053b5771718bebc5 /ssl
parentacf95129bce6ea9c42558d1cd5ac7b6b5841577b (diff)
When requeueing deferred URXEs retain the order
If a URXE cannot be processed yet then we add it to the urx_deferred list. Later, when they can be processed, we requeue them in the urx_pending list. We must not reverse the order when doing so. We want to process the URXEs in the order that they were received. Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22452)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/quic/quic_record_rx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ssl/quic/quic_record_rx.c b/ssl/quic/quic_record_rx.c
index c75b4e93be..4d0493baff 100644
--- a/ssl/quic/quic_record_rx.c
+++ b/ssl/quic/quic_record_rx.c
@@ -280,7 +280,7 @@ static void qrx_requeue_deferred(OSSL_QRX *qrx)
while ((e = ossl_list_urxe_head(&qrx->urx_deferred)) != NULL) {
ossl_list_urxe_remove(&qrx->urx_deferred, e);
- ossl_list_urxe_insert_head(&qrx->urx_pending, e);
+ ossl_list_urxe_insert_tail(&qrx->urx_pending, e);
}
}