diff --git a/tests/suites/test_suite_bignum_core.function b/tests/suites/test_suite_bignum_core.function index c0bee70d26..d5d58d870b 100644 --- a/tests/suites/test_suite_bignum_core.function +++ b/tests/suites/test_suite_bignum_core.function @@ -966,20 +966,22 @@ void mpi_core_ct_uint_table_lookup( int bitlen, int window_size ) for( size_t i = 0; i < count; i++ ) { + mbedtls_mpi_uint *current = table + i * limbs; + memset( dest, 0x00, limbs * sizeof( *dest ) ); + /* * We shouldn't leak anything through timing. * We need to set these in every loop as we need to make the loop - * variable public for the loop head and comparison macros make the - * rest public automatically. + * variable public for the loop head and the buffers for comparison. */ TEST_CF_SECRET( &i, sizeof( i ) ); - TEST_CF_SECRET( dest, limbs * sizeof( mbedtls_mpi_uint ) ); - TEST_CF_SECRET( table, count * limbs * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_SECRET( dest, limbs * sizeof( *dest ) ); + TEST_CF_SECRET( table, count * limbs * sizeof( *table ) ); - memset( dest, 0x00, limbs * sizeof( *dest ) ); mbedtls_mpi_core_ct_uint_table_lookup( dest, table, limbs, count, i ); - mbedtls_mpi_uint *current = table + i * limbs; + TEST_CF_PUBLIC( dest, limbs * sizeof( *dest ) ); + TEST_CF_PUBLIC( table, count * limbs * sizeof( *table ) ); ASSERT_COMPARE( dest, limbs * sizeof( *dest ), current, limbs * sizeof( *current ) ); TEST_CF_PUBLIC( &i, sizeof( i ) );