From b11a56e34c13eb76b160a6481608a598958b78c5 Mon Sep 17 00:00:00 2001 From: gabor-mezei-arm Date: Wed, 11 Aug 2021 17:28:49 +0200 Subject: [PATCH] Unify equality checker functions return value The equality checker functions always return 0 or 1 value, thus the type of return value can be the same dispite of the size of the parameters. Signed-off-by: gabor-mezei-arm --- library/constant_time.c | 6 +++--- library/constant_time.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/library/constant_time.c b/library/constant_time.c index 76cab097ae..4d475ba85d 100644 --- a/library/constant_time.c +++ b/library/constant_time.c @@ -168,8 +168,8 @@ size_t mbedtls_cf_size_mask_ge( size_t x, * This function is implemented without using comparison operators, as those * might be translated to branches by some compilers on some platforms. */ -size_t mbedtls_cf_size_bool_eq( size_t x, - size_t y ) +unsigned mbedtls_cf_size_bool_eq( size_t x, + size_t y ) { /* diff = 0 if x == y, non-zero otherwise */ const size_t diff = x ^ y; @@ -189,7 +189,7 @@ size_t mbedtls_cf_size_bool_eq( size_t x, #endif /* diff1 = (x != y) ? 1 : 0 */ - const size_t diff1 = diff_msb >> ( sizeof( diff_msb ) * 8 - 1 ); + const unsigned diff1 = diff_msb >> ( sizeof( diff_msb ) * 8 - 1 ); return( 1 ^ diff1 ); } diff --git a/library/constant_time.h b/library/constant_time.h index ce2a9ef57b..cdc5f853ee 100644 --- a/library/constant_time.h +++ b/library/constant_time.h @@ -50,8 +50,8 @@ size_t mbedtls_cf_size_mask_lt( size_t x, size_t mbedtls_cf_size_mask_ge( size_t x, size_t y ); -size_t mbedtls_cf_size_bool_eq( size_t x, - size_t y ); +unsigned mbedtls_cf_size_bool_eq( size_t x, + size_t y ); unsigned mbedtls_cf_size_gt( size_t x, size_t y );