From: Aki Tuomi Date: Thu, 13 Aug 2020 08:35:17 +0000 (+0300) Subject: lib: rand - Fix random number bounding X-Git-Tag: 2.3.13~219 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0589ced75103019965a2d1cc46036678e47cbec7;p=thirdparty%2Fdovecot%2Fcore.git lib: rand - Fix random number bounding --- diff --git a/src/lib/rand.c b/src/lib/rand.c index ff7675dcc6..9fbcac37a7 100644 --- a/src/lib/rand.c +++ b/src/lib/rand.c @@ -31,7 +31,8 @@ uint32_t i_rand_limit(uint32_t upper_bound) { i_assert(upper_bound > 0); - uint32_t val, min = -upper_bound % upper_bound; + uint32_t val; + uint32_t min = ~(upper_bound - 1) % upper_bound; while((val = i_rand()) < min); return val % upper_bound; }