mbedtls_mpi_lt_mpi_ct: simplify condition
In the case of *ret we might need to preserve a 0 value throughout the
loop and therefore we need an extra condition to protect it from being
overwritten.
The value of done is always 1 after *ret has been set and does not need
to be protected from overwriting. Therefore in this case the extra
condition can be removed.
diff --git a/library/bignum.c b/library/bignum.c
index d683a5e3..441e4b5 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -1232,7 +1232,7 @@
*/
cond = ct_lt_mpi_uint( Y->p[i - 1], X->p[i - 1] ) & X_is_negative;
*ret |= cond & ( 1 - done );
- done |= cond & ( 1 - done );
+ done |= cond;
/*
* If X->p[i - 1] < Y->p[i - 1] and both X and Y are positive, then
@@ -1244,7 +1244,7 @@
cond = ct_lt_mpi_uint( X->p[i - 1], Y->p[i - 1] )
& ( 1 - X_is_negative );
*ret |= cond & ( 1 - done );
- done |= cond & ( 1 - done );
+ done |= cond;
}
return( 0 );