From: Ilia Alshanetsky Date: Tue, 23 Nov 2010 13:09:15 +0000 (+0000) Subject: Fixed bug #46587 (mt_rand() does not check that max is greater than min). X-Git-Tag: php-5.4.0alpha1~191^2~611 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=09b69ee8ade5ab5235aca17cb9e9e1202f3aba87;p=php Fixed bug #46587 (mt_rand() does not check that max is greater than min). --- diff --git a/ext/standard/rand.c b/ext/standard/rand.c index 4f1f18b278..eb26cc5c50 100644 --- a/ext/standard/rand.c +++ b/ext/standard/rand.c @@ -322,6 +322,11 @@ PHP_FUNCTION(mt_rand) php_mt_srand(GENERATE_SEED() TSRMLS_CC); } + if (max < min) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "max(%d) is smaller than min(%d)", max, min); + RETURN_FALSE; + } + /* * Melo: hmms.. randomMT() returns 32 random bits... * Yet, the previous php_rand only returns 31 at most.