Minor code flow improvements

* group setting of attributes before calling get_builtin_key
* return early instead of going to exit when no resources are allocated yet

Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
This commit is contained in:
Steven Cooreman 2021-04-13 13:45:45 +02:00
parent 2cca9b8f13
commit 966db26779

View File

@ -293,13 +293,14 @@ static psa_status_t psa_load_builtin_key_into_slot( psa_key_slot_t *slot )
} }
/* Check the platform function to see whether this key actually exists */ /* Check the platform function to see whether this key actually exists */
psa_set_key_id( &attributes, slot->attr.id );
status = mbedtls_psa_platform_get_builtin_key( status = mbedtls_psa_platform_get_builtin_key(
slot->attr.id, &lifetime, &slot_number ); slot->attr.id, &lifetime, &slot_number );
if( status != PSA_SUCCESS ) if( status != PSA_SUCCESS )
return( status ); return( status );
/* Set mapped lifetime on the attributes */ /* Set required key attributes to ensure get_builtin_key can retrieve the
* full attributes. */
psa_set_key_id( &attributes, slot->attr.id );
psa_set_key_lifetime( &attributes, lifetime ); psa_set_key_lifetime( &attributes, lifetime );
/* Get the full key attributes from the driver in order to be able to /* Get the full key attributes from the driver in order to be able to
@ -312,7 +313,7 @@ static psa_status_t psa_load_builtin_key_into_slot( psa_key_slot_t *slot )
/* Builtin keys cannot be defined by the attributes alone */ /* Builtin keys cannot be defined by the attributes alone */
if( status == PSA_SUCCESS ) if( status == PSA_SUCCESS )
status = PSA_ERROR_CORRUPTION_DETECTED; status = PSA_ERROR_CORRUPTION_DETECTED;
goto exit; return( status );
} }
/* If the key should exist according to the platform, then ask the driver /* If the key should exist according to the platform, then ask the driver