From 399c8fad552375f0a633e0655854f7c7907a0ac8 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Tue, 15 Jun 2021 21:19:18 +0200 Subject: [PATCH] mpi_shrink test: just set the top bit No need to bypass the API to fill limbs. It's a better test to just set the top bit that we want to have set, and it's one less bypass of the API. Signed-off-by: Gilles Peskine --- tests/suites/test_suite_mpi.function | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_mpi.function index 112488ff4..1f71f2915 100644 --- a/tests/suites/test_suite_mpi.function +++ b/tests/suites/test_suite_mpi.function @@ -845,11 +845,14 @@ void mbedtls_mpi_shrink( int before, int used, int min, int after ) mbedtls_mpi_init( &X ); TEST_ASSERT( mbedtls_mpi_grow( &X, before ) == 0 ); - TEST_ASSERT( used <= before ); - if( before > 0 ) - memset( X.p, 0x2a, used * sizeof( mbedtls_mpi_uint ) ); + if( used > 0 ) + { + size_t used_bit_count = used * 8 * sizeof( mbedtls_mpi_uint ); + TEST_ASSERT( mbedtls_mpi_set_bit( &X, used_bit_count - 1, 1 ) == 0 ); + } + TEST_EQUAL( X.n, (size_t) before ); TEST_ASSERT( mbedtls_mpi_shrink( &X, min ) == 0 ); - TEST_ASSERT( X.n == (size_t) after ); + TEST_EQUAL( X.n, (size_t) after ); exit: mbedtls_mpi_free( &X );