From 65256ad5f6411430f3279dc2f4b1378e7ecff17d Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 10 Jun 2022 15:19:21 +0200 Subject: [PATCH] crypto: Use stdint types and make code more readable of secure_memcmp() Signed-off-by: Andreas Schneider Reviewed-by: Jakub Jelen --- src/crypto_common.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/crypto_common.c b/src/crypto_common.c index 8213ddb9..5dc883f6 100644 --- a/src/crypto_common.c +++ b/src/crypto_common.c @@ -23,12 +23,14 @@ int secure_memcmp(const void *s1, const void *s2, size_t n) { - int rc = 0; - const unsigned char *p1 = s1; - const unsigned char *p2 = s2; - for (; n > 0; --n) { - rc |= *p1++ ^ *p2++; - } - return (rc != 0); -} + size_t i; + uint8_t status = 0; + const uint8_t *p1 = s1; + const uint8_t *p2 = s2; + for (i = 0; i < n; i++) { + status |= (p1[i] ^ p2[i]); + } + + return (status != 0); +}