build fixes
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/cipher.c b/library/cipher.c
index 5470dcf..2fba758 100644
--- a/library/cipher.c
+++ b/library/cipher.c
@@ -798,7 +798,8 @@
*data_len = (*data_len & ~hit_first_nonzero) | ((size_t) i & hit_first_nonzero);
- bad = mbedtls_ct_uint_if(hit_first_nonzero, !mbedtls_ct_size_bool_eq(input[i], 0x80), bad);
+ bad = mbedtls_ct_uint_if((unsigned int) hit_first_nonzero,
+ !mbedtls_ct_size_bool_eq(input[i], 0x80), bad);
in_padding = in_padding & ~is_nonzero;
}
@@ -843,7 +844,7 @@
/* The number of bytes checked must be independent of padding_len */
pad_idx = input_len - padding_len;
for (i = 0; i < input_len - 1; i++) {
- unsigned int mask = mbedtls_ct_size_mask_ge(i, pad_idx);
+ size_t mask = mbedtls_ct_size_mask_ge(i, pad_idx);
bad |= input[i] & mask;
}
diff --git a/library/constant_time.c b/library/constant_time.c
index c0f53bb..2a9f674 100644
--- a/library/constant_time.c
+++ b/library/constant_time.c
@@ -116,7 +116,8 @@
#endif /* MBEDTLS_BIGNUM_C */
-#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC)
+#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) || defined(MBEDTLS_NIST_KW_C) || \
+ defined(MBEDTLS_CIPHER_MODE_WITH_PADDING)
/** Constant-flow mask generation for "less than" comparison:
* - if \p x < \p y, return all-bits 1, that is (size_t) -1
@@ -151,7 +152,8 @@
return ~mbedtls_ct_size_mask_lt(x, y);
}
-#endif /* MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC */
+#endif /* defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) || defined(MBEDTLS_NIST_KW_C) ||
+ defined(MBEDTLS_CIPHER_MODE_WITH_PADDING) */
#if defined(MBEDTLS_BASE64_C)
diff --git a/library/constant_time_internal.h b/library/constant_time_internal.h
index 402cf14..9d93733 100644
--- a/library/constant_time_internal.h
+++ b/library/constant_time_internal.h
@@ -79,7 +79,8 @@
#endif /* MBEDTLS_BIGNUM_C */
-#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC)
+#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) || defined(MBEDTLS_NIST_KW_C) || \
+ defined(MBEDTLS_CIPHER_MODE_WITH_PADDING)
/** Constant-flow mask generation for "greater or equal" comparison:
* - if \p x >= \p y, return all-bits 1, that is (size_t) -1
@@ -97,7 +98,8 @@
size_t mbedtls_ct_size_mask_ge(size_t x,
size_t y);
-#endif /* MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC */
+#endif /* defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) || defined(MBEDTLS_NIST_KW_C) ||
+ defined(MBEDTLS_CIPHER_MODE_WITH_PADDING) */
/** Constant-flow boolean "equal" comparison:
* return x == y