]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
speed: Fix memory leaks
authorIngo Franzki <ifranzki@linux.ibm.com>
Mon, 16 Oct 2023 12:06:04 +0000 (14:06 +0200)
committerMatt Caswell <matt@openssl.org>
Wed, 25 Oct 2023 08:24:29 +0000 (09:24 +0100)
Free the PKEYs created for KEM and signature algorithms.
Free the encrypt/decrypt PKEY contexts for RSA.

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/22399)

apps/speed.c

index 44e3af7591453ec4b769335a0e2e1db18198cca7..ac86d9e3a9a6761b0d372363ab3e91900e6176f1 100644 (file)
@@ -3828,10 +3828,13 @@ skip_hmac:
             loopargs[i].kem_out[testnum] = out;
             loopargs[i].kem_send_secret[testnum] = send_secret;
             loopargs[i].kem_rcv_secret[testnum] = rcv_secret;
+            EVP_PKEY_free(pkey);
+            pkey = NULL;
             break;
 
         kem_err_break:
             ERR_print_errors(bio_err);
+            EVP_PKEY_free(pkey);
             op_count = 1;
             kem_checks = 0;
             break;
@@ -4005,10 +4008,13 @@ skip_hmac:
             loopargs[i].sig_max_sig_len[testnum] = max_sig_len;
             loopargs[i].sig_act_sig_len[testnum] = sig_len;
             loopargs[i].sig_sig[testnum] = sig;
+            EVP_PKEY_free(pkey);
+            pkey = NULL;
             break;
 
         sig_err_break:
             ERR_print_errors(bio_err);
+            EVP_PKEY_free(pkey);
             op_count = 1;
             sig_checks = 0;
             break;
@@ -4295,6 +4301,8 @@ skip_hmac:
         for (k = 0; k < RSA_NUM; k++) {
             EVP_PKEY_CTX_free(loopargs[i].rsa_sign_ctx[k]);
             EVP_PKEY_CTX_free(loopargs[i].rsa_verify_ctx[k]);
+            EVP_PKEY_CTX_free(loopargs[i].rsa_encrypt_ctx[k]);
+            EVP_PKEY_CTX_free(loopargs[i].rsa_decrypt_ctx[k]);
         }
 #ifndef OPENSSL_NO_DH
         OPENSSL_free(loopargs[i].secret_ff_a);