diff --git a/include/functions.inc b/include/functions.inc index a130496abd03b2ab83a083e6d8fa8df145aaf8fa..af35d642bccc68553d475602494b11dbcef33da8 100644 --- a/include/functions.inc +++ b/include/functions.inc @@ -2648,7 +2648,7 @@ if (!function_exists('random_int')) { { $range = $max - $min; if ($range <= 0) { - return $min; + throw new Exception('Invalid range passed to random_int'); } $log = log($range, 2); @@ -2663,7 +2663,7 @@ if (!function_exists('random_int')) { if (!$strong || ($randomBytes === FALSE)) { throw new Exception('Failed to get random bytes'); } - $rnd = unpack('C', $randomBytes)[1]; + $rnd = unpack('Q', $randomBytes)[1]; // discard irrelevant bits $rnd = $rnd & $filter; } while ($rnd >= $range);