Free allocated memory where methods were returning without freeing

Signed-off-by: Sam Berry <sam.berry@arm.com>
Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
This commit is contained in:
Gowtham Suresh Kumar 2024-08-19 13:22:35 +01:00
parent b492272bab
commit d9e16c4870

View File

@ -215,15 +215,13 @@ psa_status_t mbedtls_psa_rsa_export_public_key(
status = mbedtls_psa_rsa_load_representation( status = mbedtls_psa_rsa_load_representation(
attributes->core.type, key_buffer, key_buffer_size, &rsa); attributes->core.type, key_buffer, key_buffer_size, &rsa);
if (status != PSA_SUCCESS) { if (status == PSA_SUCCESS) {
return status;
}
status = mbedtls_psa_rsa_export_key(PSA_KEY_TYPE_RSA_PUBLIC_KEY, status = mbedtls_psa_rsa_export_key(PSA_KEY_TYPE_RSA_PUBLIC_KEY,
rsa, rsa,
data, data,
data_size, data_size,
data_length); data_length);
}
mbedtls_rsa_free(rsa); mbedtls_rsa_free(rsa);
mbedtls_free(rsa); mbedtls_free(rsa);
@ -286,6 +284,7 @@ psa_status_t mbedtls_psa_rsa_generate_key(
(unsigned int) attributes->core.bits, (unsigned int) attributes->core.bits,
exponent); exponent);
if (ret != 0) { if (ret != 0) {
mbedtls_rsa_free(&rsa);
return mbedtls_to_psa_error(ret); return mbedtls_to_psa_error(ret);
} }
@ -354,7 +353,7 @@ psa_status_t mbedtls_psa_rsa_sign_hash(
key_buffer_size, key_buffer_size,
&rsa); &rsa);
if (status != PSA_SUCCESS) { if (status != PSA_SUCCESS) {
return status; goto exit;
} }
status = psa_rsa_decode_md_type(alg, hash_length, &md_alg); status = psa_rsa_decode_md_type(alg, hash_length, &md_alg);