Commit 8b2632d90f for openssl.org

commit 8b2632d90fac3b0e0a9e6f0ade41ca03c43edeed
Author: Neil Horman <nhorman@openssl.org>
Date:   Wed Sep 2 15:53:13 2026 -0400

    Revert "Free connections before listeners in the radix test cleanup"

    This reverts commit 31c32ca387a01b1134b459941d5111ab977b8197.

    Reviewed-by: Jakub Zelenka <jakub.zelenka@openssl.foundation>
    Reviewed-by: Andrew Dinh <andrewd@openssl.org>
    MergeDate: Fri Sep 11 20:50:56 2026
    (Merged from https://github.com/openssl/openssl/pull/32498)

diff --git a/test/radix/quic_bindings.c b/test/radix/quic_bindings.c
index 5b4fbdec9f..21fd5ef0e6 100644
--- a/test/radix/quic_bindings.c
+++ b/test/radix/quic_bindings.c
@@ -439,22 +439,6 @@ static int RADIX_PROCESS_join_all_threads(RADIX_PROCESS *rp, int *testresult)
     return ok;
 }

-/*
- * Free every non-listener object's SSL before cleanup_one() frees any listener.
- *
- * A connection's assist thread reads from its network BIO, and for a dgram BIO
- * pair (see hf_link_dgram_pair) that BIO belongs to the linked listener. Freeing
- * the connection joins its assist thread (see ossl_quic_free), so doing so first
- * ensures no assist thread is still reading when the listener BIOs are freed.
- */
-static void cleanup_nonlistener(RADIX_OBJ *obj)
-{
-    if (obj->ssl != NULL && !SSL_is_listener(obj->ssl)) {
-        SSL_free(obj->ssl);
-        obj->ssl = NULL;
-    }
-}
-
 static void cleanup_one(RADIX_OBJ *obj)
 {
     obj->registered = 0;
@@ -475,7 +459,6 @@ static void RADIX_PROCESS_cleanup(RADIX_PROCESS *rp)
     sk_RADIX_THREAD_free(rp->threads);
     rp->threads = NULL;

-    lh_RADIX_OBJ_doall(rp->objs, cleanup_nonlistener);
     lh_RADIX_OBJ_doall(rp->objs, cleanup_one);
     lh_RADIX_OBJ_free(rp->objs);
     rp->objs = NULL;