diff --git a/library/psa_crypto_ffdh.c b/library/psa_crypto_ffdh.c index 813c1380cf..ef77068170 100644 --- a/library/psa_crypto_ffdh.c +++ b/library/psa_crypto_ffdh.c @@ -269,8 +269,11 @@ psa_status_t mbedtls_psa_ffdh_key_agreement( mbedtls_mpi P, X, GY, K; const size_t calculated_shared_secret_size = key_buffer_size; - if (peer_key_length != key_buffer_size || - !PSA_KEY_TYPE_IS_DH_KEY_PAIR(psa_get_key_type(attributes))) { + if (!PSA_KEY_TYPE_IS_DH_KEY_PAIR(psa_get_key_type(attributes))) { + return PSA_ERROR_INVALID_ARGUMENT; + } + + if (peer_key_length != key_buffer_size) { return PSA_ERROR_INVALID_ARGUMENT; }