crypto/openssl: fix memory leak
Checks
Commit Message
Memory allocated through OPENSSL_malloc should be freed only
through OPENSSL_free.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
---
drivers/crypto/openssl/rte_openssl_pmd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Comments
> Subject: [PATCH] crypto/openssl: fix memory leak
>
> Memory allocated through OPENSSL_malloc should be freed only
> through OPENSSL_free.
>
> Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Patch already submitted.
https://patches.dpdk.org/project/dpdk/patch/20230511135944.142416-1-ciara.power@intel.com/
Hi gowrishankar,
Is that the same fix ?
https://patches.dpdk.org/project/dpdk/patch/20230511135944.142416-1-ciara.power@intel.com/
regards
Kai
> -----Original Message-----
> From: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
> Sent: Wednesday, May 17, 2023 5:45 PM
> To: dev@dpdk.org
> Cc: anoobj@marvell.com; Akhil Goyal <gakhil@marvell.com>; Ji, Kai
> <kai.ji@intel.com>; Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
> Subject: [PATCH] crypto/openssl: fix memory leak
>
> Memory allocated through OPENSSL_malloc should be freed only through
> OPENSSL_free.
>
> Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
> ---
> drivers/crypto/openssl/rte_openssl_pmd.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c
> b/drivers/crypto/openssl/rte_openssl_pmd.c
> index 384d262621..f65fbca300 100644
> --- a/drivers/crypto/openssl/rte_openssl_pmd.c
> +++ b/drivers/crypto/openssl/rte_openssl_pmd.c
> @@ -1927,7 +1927,7 @@ process_openssl_dsa_sign_op_evp(struct rte_crypto_op
> *cop,
>
> if (EVP_PKEY_sign(dsa_ctx, dsa_sign_data, &outlen, op->message.data,
> op->message.length) <= 0) {
> - free(dsa_sign_data);
> + OPENSSL_free(dsa_sign_data);
> goto err_dsa_sign;
> }
>
> @@ -1935,7 +1935,7 @@ process_openssl_dsa_sign_op_evp(struct rte_crypto_op
> *cop,
> DSA_SIG *sign = d2i_DSA_SIG(NULL, &dsa_sign_data_p, outlen);
> if (!sign) {
> OPENSSL_LOG(ERR, "%s:%d\n", __func__, __LINE__);
> - free(dsa_sign_data);
> + OPENSSL_free(dsa_sign_data);
> goto err_dsa_sign;
> } else {
> const BIGNUM *r = NULL, *s = NULL;
> @@ -1947,7 +1947,7 @@ process_openssl_dsa_sign_op_evp(struct rte_crypto_op
> *cop,
> }
>
> DSA_SIG_free(sign);
> - free(dsa_sign_data);
> + OPENSSL_free(dsa_sign_data);
> return 0;
>
> err_dsa_sign:
> --
> 2.25.1
@@ -1927,7 +1927,7 @@ process_openssl_dsa_sign_op_evp(struct rte_crypto_op *cop,
if (EVP_PKEY_sign(dsa_ctx, dsa_sign_data, &outlen, op->message.data,
op->message.length) <= 0) {
- free(dsa_sign_data);
+ OPENSSL_free(dsa_sign_data);
goto err_dsa_sign;
}
@@ -1935,7 +1935,7 @@ process_openssl_dsa_sign_op_evp(struct rte_crypto_op *cop,
DSA_SIG *sign = d2i_DSA_SIG(NULL, &dsa_sign_data_p, outlen);
if (!sign) {
OPENSSL_LOG(ERR, "%s:%d\n", __func__, __LINE__);
- free(dsa_sign_data);
+ OPENSSL_free(dsa_sign_data);
goto err_dsa_sign;
} else {
const BIGNUM *r = NULL, *s = NULL;
@@ -1947,7 +1947,7 @@ process_openssl_dsa_sign_op_evp(struct rte_crypto_op *cop,
}
DSA_SIG_free(sign);
- free(dsa_sign_data);
+ OPENSSL_free(dsa_sign_data);
return 0;
err_dsa_sign: