From: Jiasheng Jiang Date: Sat, 5 Jul 2025 00:49:56 +0000 (+0000) Subject: tests/x509-cert-callback-ocsp.c: Free p and certs on error to avoid memory leak X-Git-Tag: 3.8.10~5^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=3e17d5a3ce139a847d583b1ae523d61e3fbc01ad;p=thirdparty%2Fgnutls.git tests/x509-cert-callback-ocsp.c: Free p and certs on error to avoid memory leak Call gnutls_free() to release p and certs on error, preventing a memory leak. Fixes: db486d97c ("tests: enhanced OCSP tests") Signed-off-by: JiashengJiang --- diff --git a/tests/x509-cert-callback-ocsp.c b/tests/x509-cert-callback-ocsp.c index 2aebeb49b7..c6147e0223 100644 --- a/tests/x509-cert-callback-ocsp.c +++ b/tests/x509-cert-callback-ocsp.c @@ -82,23 +82,34 @@ static int server_cert_callback(gnutls_session_t session, ret = gnutls_x509_crt_list_import2( &certs, &certs_size, &server_ca3_localhost_cert_chain, GNUTLS_X509_FMT_PEM, 0); - if (ret < 0) + if (ret < 0) { + gnutls_free(p); return -1; + } + ret = gnutls_pcert_import_x509_list(p, certs, &certs_size, 0); - if (ret < 0) + if (ret < 0) { + gnutls_free(certs); + gnutls_free(p); return -1; + } + for (i = 0; i < certs_size; i++) gnutls_x509_crt_deinit(certs[i]); gnutls_free(certs); ret = gnutls_privkey_init(&lkey); - if (ret < 0) + if (ret < 0) { + gnutls_free(p); return -1; + } ret = gnutls_privkey_import_x509_raw( lkey, &server_ca3_key, GNUTLS_X509_FMT_PEM, NULL, 0); - if (ret < 0) + if (ret < 0) { + gnutls_free(p); return -1; + } server_pcert = p; server_pkey = lkey;