From 71a48fd39c8c7e78eaad6ccdcadd751944e26394 Mon Sep 17 00:00:00 2001 From: JiashengJiang Date: Mon, 12 May 2025 09:59:02 -0400 Subject: [PATCH] test/helpers/quictestlib.c: Use goto instead of return to avoid memory leak When TEST_ptr(*cssl) fails, bdata should be freed to avoid memory leak. Fixes: a55b689 ("Use reported short conn id len in qtestlib") Signed-off-by: JiashengJiang Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/27599) (cherry picked from commit de1e4989d564ea9a6d2960204806a1f3537419ad) --- test/helpers/quictestlib.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/test/helpers/quictestlib.c b/test/helpers/quictestlib.c index 0348729b726..57789924f0b 100644 --- a/test/helpers/quictestlib.c +++ b/test/helpers/quictestlib.c @@ -135,11 +135,6 @@ int qtest_create_quic_objects(OSSL_LIB_CTX *libctx, SSL_CTX *clientctx, BIO *tmpbio = NULL; *qtserv = NULL; - if (*cssl == NULL) { - *cssl = SSL_new(clientctx); - if (!TEST_ptr(*cssl)) - return 0; - } if (fault != NULL) { *fault = OPENSSL_zalloc(sizeof(**fault)); @@ -147,6 +142,12 @@ int qtest_create_quic_objects(OSSL_LIB_CTX *libctx, SSL_CTX *clientctx, goto err; } + if (*cssl == NULL) { + *cssl = SSL_new(clientctx); + if (!TEST_ptr(*cssl)) + goto err; + } + #ifndef OPENSSL_NO_SSL_TRACE if ((flags & QTEST_FLAG_CLIENT_TRACE) != 0) { tmpbio = BIO_new_fp(stdout, BIO_NOCLOSE); -- 2.47.2