Fix IAR build
Removed VLAs, replaced them with the possible maximum
array size.
Change-Id: I5348f5705a30f2222bdc158c14fe0c2795a6f6f7
Signed-off-by: Dávid Házi <david.hazi@arm.com>
diff --git a/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.c b/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.c
index a7f31ac..35703b2 100644
--- a/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.c
+++ b/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.c
@@ -11,6 +11,10 @@
#include <string.h>
#include "crypto_tests_common.h"
+/* Maximum array sizes to remove VLAs */
+#define PSA_HASH_LENGTH_MAX 64
+#define ECDSA_KEYS_PRIV_SZ_MAX 48
+
void psa_key_interface_test(const psa_key_type_t key_type,
struct test_result_t *ret)
{
@@ -2799,7 +2803,7 @@
return;
}
- uint8_t encrypted_data[PSA_ASYMMETRIC_ENCRYPT_OUTPUT_SIZE(PSA_KEY_TYPE_RSA_KEY_PAIR, 2048, alg)];
+ uint8_t encrypted_data[PSA_BITS_TO_BYTES(2048)];
status = psa_import_key(&key_attributes, key_pair, key_size, &key_id_local);
if (status != PSA_SUCCESS) {
@@ -3219,15 +3223,21 @@
}
const size_t ecdsa_private_key_sz = ecdsa_keys[curve_selector].priv_sz;
- uint8_t signature[PSA_ECDSA_SIGNATURE_SIZE(PSA_BYTES_TO_BITS(ecdsa_private_key_sz))];
+
+ assert(ECDSA_KEYS_PRIV_SZ_MAX >= ecdsa_private_key_sz);
+
+ uint8_t signature[PSA_ECDSA_SIGNATURE_SIZE(PSA_BYTES_TO_BITS(ECDSA_KEYS_PRIV_SZ_MAX))];
char tmp_str[sizeof(signature) * 2 + 1]; /* enough to hold the hash string as well */
size_t signature_length = 0;
/* The expected format of the public key is uncompressed, i.e. 0x04 X Y */
uint8_t ecdsa_pub_key[
- PSA_KEY_EXPORT_ECC_PUBLIC_KEY_MAX_SIZE(PSA_BYTES_TO_BITS(ecdsa_private_key_sz))];
+ PSA_KEY_EXPORT_ECC_PUBLIC_KEY_MAX_SIZE(PSA_BYTES_TO_BITS(ECDSA_KEYS_PRIV_SZ_MAX))];
size_t pub_key_length = 0;
const psa_algorithm_t hash_alg = PSA_ALG_GET_HASH(alg);
- uint8_t hash[PSA_HASH_LENGTH(hash_alg)];
+
+ assert(PSA_HASH_LENGTH_MAX >= PSA_HASH_LENGTH(hash_alg));
+
+ uint8_t hash[PSA_HASH_LENGTH_MAX];
size_t hash_length = 0;
uint8_t scratch_buffer[48 * 2 + 1]; /* Up to the P-384 pub key in uncompressed format */