Commit 29616c15e4 for openssl.org

commit 29616c15e476eab4a81a6af20259d7d1809d4e03
Author: Nikola Pajkovsky <nikolap@openssl.org>
Date:   Wed Jul 15 11:05:35 2026 +0200

    test: clean up thread-local key in QUIC radix tests

    The QUIC radix test creates a new thread-local key for each script but
    only clears the associated value during teardown. The key itself
    is never deleted.

    Delete the thread-local key after all child threads have joined and the
    main-thread value has been cleared.

      1,536 bytes in 3 blocks are still reachable in loss record 873 of 915
         at 0x488D0B0: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-arm64-linux.so)
         by 0x49561CF: pthread_setspecific@@GLIBC_2.34 (in /usr/lib64/libc.so.6)
         by 0x5C0FD7: CRYPTO_THREAD_set_local (threads_pthread.c:1030)
         by 0x41132F: radix_thread_init (quic_bindings.c:570)
         by 0x4114F7: bindings_process_init (quic_bindings.c:604)
         by 0x422563: test_script (main.c:28)
         by 0x5152DF: run_tests (driver.c:518)
         by 0x517447: main (main.c:52)

    Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>

    Reviewed-by: Tim Hudson <tjh@openssl.org>
    Reviewed-by: Paul Dale <paul.dale@oracle.com>
    Reviewed-by: Neil Horman <nhorman@openssl.org>
    MergeDate: Mon Jul 20 09:07:10 2026
    (Merged from https://github.com/openssl/openssl/pull/31961)

diff --git a/test/radix/quic_bindings.c b/test/radix/quic_bindings.c
index 02356f48eb..7dc46f7950 100644
--- a/test/radix/quic_bindings.c
+++ b/test/radix/quic_bindings.c
@@ -662,6 +662,9 @@ static int bindings_process_finish(int testresult_main)
     radix_thread_cleanup(); /* cleanup main thread */
     RADIX_PROCESS_cleanup(&radix_process);

+    if (!TEST_true(CRYPTO_THREAD_cleanup_local(&radix_thread)))
+        testresult = 0;
+
     if (testresult)
         BIO_printf(bio_err, "==> OK\n\n");
     else