From 6d2337d9e80eb38ab92708c7fc44b3bdeb016bad Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Fri, 30 Dec 2022 18:50:21 +0100 Subject: [PATCH] Fix types of the csrand_interval() API We were always casting the result to u_long. Better just use that type in the function. Since we're returning u_long, it makes sense to also specify the input as u_long. In fact, that'll help for doing bitwise operations inside this function. Signed-off-by: Alejandro Colomar --- libmisc/salt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libmisc/salt.c b/libmisc/salt.c index 58b0879f..fd28145c 100644 --- a/libmisc/salt.c +++ b/libmisc/salt.c @@ -94,7 +94,7 @@ static long read_random_bytes (void); static /*@observer@*/const char *gensalt (size_t salt_size); #endif /* !USE_XCRYPT_GENSALT */ #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) -static long csrand_interval (long min, long max); +static unsigned long csrand_interval (unsigned long min, unsigned long max); #endif /* USE_SHA_CRYPT || USE_BCRYPT */ #ifdef USE_SHA_CRYPT static /*@observer@*/unsigned long SHA_get_salt_rounds (/*@null@*/const int *prefered_rounds); @@ -163,7 +163,7 @@ end: * * It favors slightly the higher numbers. */ -static long csrand_interval (long min, long max) +static unsigned long csrand_interval (unsigned long min, unsigned long max) { double drand; long ret; @@ -207,7 +207,7 @@ static /*@observer@*/unsigned long SHA_get_salt_rounds (/*@null@*/const int *pre max_rounds = min_rounds; } - rounds = (unsigned long) csrand_interval (min_rounds, max_rounds); + rounds = csrand_interval (min_rounds, max_rounds); } } else if (0 == *prefered_rounds) { rounds = SHA_ROUNDS_DEFAULT; @@ -280,7 +280,7 @@ static /*@observer@*/unsigned long BCRYPT_get_salt_rounds (/*@null@*/const int * max_rounds = min_rounds; } - rounds = (unsigned long) csrand_interval (min_rounds, max_rounds); + rounds = csrand_interval (min_rounds, max_rounds); } } else if (0 == *prefered_rounds) { rounds = B_ROUNDS_DEFAULT;