From: JiashengJiang Date: Mon, 12 May 2025 13:59:02 +0000 (-0400) Subject: test/helpers/quictestlib.c: Use goto instead of return to avoid memory leak X-Git-Tag: openssl-3.4.2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9387cb23a8d1299dc76fcf999df09c4c1b17f4ff;p=thirdparty%2Fopenssl.git 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) --- diff --git a/test/helpers/quictestlib.c b/test/helpers/quictestlib.c index 680606e59d2..3244e3767f7 100644 --- a/test/helpers/quictestlib.c +++ b/test/helpers/quictestlib.c @@ -136,11 +136,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)); @@ -148,6 +143,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);