Improve use of compiler_opaque
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/constant_time_impl.h b/library/constant_time_impl.h
index b73f92e..b4b3917 100644
--- a/library/constant_time_impl.h
+++ b/library/constant_time_impl.h
@@ -151,7 +151,7 @@
static inline mbedtls_ct_condition_t mbedtls_ct_bool_ne(mbedtls_ct_uint_t x, mbedtls_ct_uint_t y)
{
/* diff = 0 if x == y, non-zero otherwise */
- const mbedtls_ct_uint_t diff = mbedtls_ct_compiler_opaque(x) ^ y;
+ const mbedtls_ct_uint_t diff = mbedtls_ct_compiler_opaque(x) ^ mbedtls_ct_compiler_opaque(y);
/* all ones if x != y, 0 otherwise */
return mbedtls_ct_bool(diff);
@@ -213,12 +213,12 @@
static inline size_t mbedtls_ct_size_if0(mbedtls_ct_condition_t condition, size_t if1)
{
- return (size_t) (mbedtls_ct_compiler_opaque(condition) & if1);
+ return (size_t) (condition & if1);
}
static inline unsigned mbedtls_ct_uint_if0(mbedtls_ct_condition_t condition, unsigned if1)
{
- return (unsigned) (mbedtls_ct_compiler_opaque(condition) & if1);
+ return (unsigned) (condition & if1);
}
#if defined(MBEDTLS_BIGNUM_C)
@@ -226,7 +226,7 @@
static inline mbedtls_mpi_uint mbedtls_ct_mpi_uint_if0(mbedtls_ct_condition_t condition,
mbedtls_mpi_uint if1)
{
- return (mbedtls_mpi_uint) (mbedtls_ct_compiler_opaque(condition) & if1);
+ return (mbedtls_mpi_uint) (condition & if1);
}
#endif /* MBEDTLS_BIGNUM_C */
@@ -252,24 +252,24 @@
static inline mbedtls_ct_condition_t mbedtls_ct_bool_xor(mbedtls_ct_condition_t x,
mbedtls_ct_condition_t y)
{
- return (mbedtls_ct_condition_t) (mbedtls_ct_compiler_opaque(x) ^ mbedtls_ct_compiler_opaque(y));
+ return (mbedtls_ct_condition_t) (x ^ y);
}
static inline mbedtls_ct_condition_t mbedtls_ct_bool_and(mbedtls_ct_condition_t x,
mbedtls_ct_condition_t y)
{
- return (mbedtls_ct_condition_t) (mbedtls_ct_compiler_opaque(x) & mbedtls_ct_compiler_opaque(y));
+ return (mbedtls_ct_condition_t) (x & y);
}
static inline mbedtls_ct_condition_t mbedtls_ct_bool_or(mbedtls_ct_condition_t x,
mbedtls_ct_condition_t y)
{
- return (mbedtls_ct_condition_t) (mbedtls_ct_compiler_opaque(x) | mbedtls_ct_compiler_opaque(y));
+ return (mbedtls_ct_condition_t) (x | y);
}
static inline mbedtls_ct_condition_t mbedtls_ct_bool_not(mbedtls_ct_condition_t x)
{
- return (mbedtls_ct_condition_t) (~mbedtls_ct_compiler_opaque(x));
+ return (mbedtls_ct_condition_t) (~x);
}
#endif /* MBEDTLS_CONSTANT_TIME_IMPL_H */