Use mbedtls_ct_mpi_uint_mask() rather than rolling our own
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
diff --git a/library/bignum_core.c b/library/bignum_core.c
index 13fc074..bb6e7cd 100644
--- a/library/bignum_core.c
+++ b/library/bignum_core.c
@@ -300,19 +300,8 @@
{
mbedtls_mpi_uint c = 0;
- /* MSVC has a warning about unary minus on unsigned integer types,
- * but this is well-defined and precisely what we want to do here. */
-#if defined(_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4146 )
-#endif
-
- /* all-bits 1 if cond is 1, all-bits 0 if cond is 0 */
- const mbedtls_mpi_uint mask = -(mbedtls_mpi_uint)cond;
-
-#if defined(_MSC_VER)
-#pragma warning( pop )
-#endif
+ /* all-bits 0 if cond is 0, all-bits 1 if cond is non-0 */
+ const mbedtls_mpi_uint mask = mbedtls_ct_mpi_uint_mask( cond );
for( size_t i = 0; i < limbs; i++ )
{