Fix iterator types in LMOTS
Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/library/lmots.c b/library/lmots.c
index 878d671..7dbf8a2 100644
--- a/library/lmots.c
+++ b/library/lmots.c
@@ -182,13 +182,10 @@
const unsigned char *hash_idx_max_values,
unsigned char *output )
{
- unsigned char i_digit_idx;
- unsigned char j_hash_idx;
+ unsigned int i_digit_idx;
unsigned char i_digit_idx_bytes[I_DIGIT_IDX_LEN];
- unsigned char j_hash_idx_bytes[1];
- /* These can't be unsigned chars, because they are sometimes set to
- * #DIGIT_MAX_VALUE, which has a value of 256
- */
+ unsigned int j_hash_idx;
+ unsigned char j_hash_idx_bytes[J_HASH_IDX_LEN];
unsigned int j_hash_idx_min;
unsigned int j_hash_idx_max;
psa_hash_operation_t op;
@@ -213,7 +210,7 @@
j_hash_idx_max = hash_idx_max_values != NULL ?
hash_idx_max_values[i_digit_idx] : DIGIT_MAX_VALUE;
- for ( j_hash_idx = ( unsigned char )j_hash_idx_min;
+ for ( j_hash_idx = j_hash_idx_min;
j_hash_idx < j_hash_idx_max;
j_hash_idx++ )
{