diff options
author | Ingo Franzki <ifranzki@linux.ibm.com> | 2023-10-16 14:06:04 +0200 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2023-10-25 09:24:29 +0100 |
commit | 4e09305ee092dea14b7d4feb3fac2889b41428f3 (patch) | |
tree | f12c55cb48a1011ad83ef010d34ebf3ed9e40ce6 /apps | |
parent | 66f4782f1452d6fbfab78822b340a99aaeacc2f0 (diff) |
speed: Fix memory leaks
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)
Diffstat (limited to 'apps')
-rw-r--r-- | apps/speed.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/apps/speed.c b/apps/speed.c index 44e3af7591..ac86d9e3a9 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -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); |