Handle if parameters are alised
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
diff --git a/library/bignum_core.c b/library/bignum_core.c
index 233b22d..847ed6e 100644
--- a/library/bignum_core.c
+++ b/library/bignum_core.c
@@ -167,6 +167,9 @@
size_t limbs,
unsigned char assign )
{
+ if( X == A )
+ return;
+
mbedtls_ct_mpi_uint_cond_assign( limbs, X, A, assign );
}
@@ -175,6 +178,9 @@
size_t limbs,
unsigned char swap )
{
+ if( X == Y )
+ return;
+
/* all-bits 1 if swap is 1, all-bits 0 if swap is 0 */
mbedtls_mpi_uint limb_mask = mbedtls_ct_mpi_uint_mask( swap );