From 9fa16b7fd398b62f06cb10892fe93dc574d67399 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Wed, 5 Jun 2024 11:22:35 -0400 Subject: [PATCH] Fix types for old 32 bit systems On x86 CK_ULONG and size_t have different sizes, ensure we use compatible types on our helper functions. Signed-off-by: Simo Sorce --- src/asymmetric_cipher.c | 4 ++-- src/util.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/asymmetric_cipher.c b/src/asymmetric_cipher.c index 4d87b1c..3256fd2 100644 --- a/src/asymmetric_cipher.c +++ b/src/asymmetric_cipher.c @@ -251,12 +251,12 @@ static int p11prov_rsaenc_decrypt_init(void *ctx, void *provkey, static int p11prov_tls_constant_time_depadding(struct p11prov_rsaenc_ctx *encctx, unsigned char *out, unsigned char *buf, - size_t *out_size, CK_ULONG *ret_cond) + CK_ULONG *out_size, CK_ULONG *ret_cond) { unsigned char randbuf[SSL_MAX_MASTER_KEY_LENGTH]; CK_ULONG ver_cond = 0; CK_ULONG cond = 0; - size_t length = SSL_MAX_MASTER_KEY_LENGTH; + CK_ULONG length = SSL_MAX_MASTER_KEY_LENGTH; int err; /* always generate a random buffer, to constant_time swap in diff --git a/src/util.h b/src/util.h index bcbc2db..1b24666 100644 --- a/src/util.h +++ b/src/util.h @@ -120,7 +120,7 @@ static inline int constant_select_int(CK_ULONG cond, int a, int b) return (int)((A & mask) | (B & ~mask)); } -static inline void constant_select_buf(CK_ULONG cond, size_t size, +static inline void constant_select_buf(CK_ULONG cond, CK_ULONG size, unsigned char *dst, unsigned char *a, unsigned char *b) { -- 2.45.0