psa_aead_setup: validate tag length before calling driver setup
Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 7bce391..2ff168d 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -3787,6 +3787,9 @@
.core = slot->attr
};
+ if( ( status = psa_validate_tag_length( alg ) ) != PSA_SUCCESS )
+ goto exit;
+
if( is_encrypt )
status = psa_driver_wrapper_aead_encrypt_setup( operation,
&attributes,
@@ -3802,9 +3805,6 @@
if( status != PSA_SUCCESS )
goto exit;
- if( ( status = psa_validate_tag_length( alg ) ) != PSA_SUCCESS )
- goto exit;
-
operation->key_type = psa_get_key_type( &attributes );
exit: