Merge pull request #1274 from gowthamsk-arm/mem-alloc-cleanup-3.6

Backport 3.6: Fix: Memory allocation cleanup in internal crypto api functions
This commit is contained in:
Tom Cosgrove 2024-08-19 15:50:22 +01:00 committed by GitHub
commit 4a30cd2693
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -197,16 +197,14 @@ psa_status_t mbedtls_psa_rsa_export_public_key(
status = mbedtls_psa_rsa_load_representation(
attributes->type, key_buffer, key_buffer_size, &rsa);
if (status != PSA_SUCCESS) {
return status;
if (status == PSA_SUCCESS) {
status = mbedtls_psa_rsa_export_key(PSA_KEY_TYPE_RSA_PUBLIC_KEY,
rsa,
data,
data_size,
data_length);
}
status = mbedtls_psa_rsa_export_key(PSA_KEY_TYPE_RSA_PUBLIC_KEY,
rsa,
data,
data_size,
data_length);
mbedtls_rsa_free(rsa);
mbedtls_free(rsa);
@ -264,6 +262,7 @@ psa_status_t mbedtls_psa_rsa_generate_key(
(unsigned int) attributes->bits,
exponent);
if (ret != 0) {
mbedtls_rsa_free(&rsa);
return mbedtls_to_psa_error(ret);
}
@ -330,7 +329,7 @@ psa_status_t mbedtls_psa_rsa_sign_hash(
key_buffer_size,
&rsa);
if (status != PSA_SUCCESS) {
return status;
goto exit;
}
status = psa_rsa_decode_md_type(alg, hash_length, &md_alg);