aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikola Pajkovsky <[email protected]>2026-07-15 11:05:35 +0200
committerNorbert Pocs <[email protected]>2026-07-20 11:06:53 +0200
commit29616c15e476eab4a81a6af20259d7d1809d4e03 (patch)
tree70bb05401f9f2b51f3b3df55f7477ec463af5a6e
parenttest/p_ossltest: fix uninitialised bytes written in TLS1-AAD GCM mode (diff)
downloadopenssl-29616c15e476eab4a81a6af20259d7d1809d4e03.tar.gz
openssl-29616c15e476eab4a81a6af20259d7d1809d4e03.zip
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 <[email protected]> Reviewed-by: Tim Hudson <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Neil Horman <[email protected]> MergeDate: Mon Jul 20 09:07:10 2026 (Merged from https://github.com/openssl/openssl/pull/31961)
-rw-r--r--test/radix/quic_bindings.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/test/radix/quic_bindings.c b/test/radix/quic_bindings.c
index 02356f48eba..7dc46f7950d 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