#47745 [Asn]: FILTER_VALIDATE_INT doesn't allow minimum integer

From: Date: Sun, 29 Mar 2009 16:43:24 +0000
Subject: #47745 [Asn]: FILTER_VALIDATE_INT doesn't allow minimum integer
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-135277@lists.php.net to get a copy of this message
ID: 47745 Updated by: iliaa@php.net Reported By: for-bugs at hnw dot jp Status: Assigned Bug Type: Filter related Operating System: * PHP Version: 5.2.9 Assigned To: iliaa New Comment: We don't eat a 0. When parsing #s we follow this logic: Let's say X is our temp var containing the 1st digit and the number to be parsed is 435. X = X * 10; X += 3; (X = 43) X = X * 10; X += 5; (X = 435) There is no 0 eating etc... Previous Comments: ------------------------------------------------------------------------ [2009-03-26 22:44:17] scottmac@php.net For some reason php_filter_parse_int multiplies the integer by ten then attempts to eat a 0? This is causing overflow and resulting in an error. I have no idea why its doing this though. ilia? ------------------------------------------------------------------------ [2009-03-21 23:34:01] for-bugs at hnw dot jp Description: ------------ Although -2147483648 is the minimum integer in 32bit environment, FILTER_VALIDATE_INT says -2147483648 is invalid as integer. Reproduce code: --------------- <?php var_dump(intval("-2147483648")); var_dump(filter_var("-2147483648", FILTER_VALIDATE_INT)); Expected result: ---------------- int(-2147483648) int(-2147483648) Actual result: -------------- int(-2147483648) bool(false) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47745&edit=1

« previous php.bugs (#135277) next »