From dac3a2a0f54589b10a4cff2a99526804747089df Mon Sep 17 00:00:00 2001 From: Rahul Tank Date: Mon, 30 May 2022 14:27:07 +0530 Subject: [PATCH] Added check to free keypair if already allocated to avoid memory leak --- nimble/host/src/ble_sm_alg.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nimble/host/src/ble_sm_alg.c b/nimble/host/src/ble_sm_alg.c index 177df5593..9917bb56c 100644 --- a/nimble/host/src/ble_sm_alg.c +++ b/nimble/host/src/ble_sm_alg.c @@ -642,6 +642,10 @@ mbedtls_gen_keypair(uint8_t *public_key, uint8_t *private_key) mbedtls_entropy_init(&entropy); mbedtls_ctr_drbg_init(&ctr_drbg); + + /* Free the previously allocate keypair */ + mbedtls_ecp_keypair_free(&keypair); + mbedtls_ecp_keypair_init(&keypair); if (( rc = mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, @@ -678,6 +682,11 @@ exit: return 0; } + +void mbedtls_free_keypair(void) +{ + mbedtls_ecp_keypair_free(&keypair); +} #endif /**