Fix incorrect enums being used
Fix memory leak due to aead_abort() using incorrect enums to identify
algorithm used. Fix incorrect return on failure to check tag on
aead_verify()
@@ -948,7 +948,7 @@ psa_status_t mbedtls_psa_aead_verify( psa_aead_operation_t *operation,
{
if( do_tag_check && safer_memcmp(tag, check_tag, tag_length) != 0 )
{
- status = MBEDTLS_ERR_GCM_AUTH_FAILED;
+ status = PSA_ERROR_INVALID_SIGNATURE;
}
}
@@ -962,8 +962,8 @@ psa_status_t mbedtls_psa_aead_abort( psa_aead_operation_t *operation )
{
switch( operation->alg )
{
-#if defined(MBEDTLS_CCM_C)
- case MBEDTLS_PSA_BUILTIN_ALG_CCM:
+#if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM)
+ case PSA_ALG_CCM:
mbedtls_ccm_free( &operation->ctx.ccm );
break;
#endif /* MBEDTLS_PSA_BUILTIN_ALG_CCM */
