ID: 47745 Updated by: dmi...@php.net Reported By: for-bugs at hnw dot jp -Status: Assigned +Status: Closed Bug Type: Filter related Operating System: * PHP Version: 5.2.9 Assigned To: dmitry New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2009-03-31 09:27:50] for-bugs at hnw dot jp Result on 64bit environment: $ php -r 'var_dump(intval((string)~PHP_INT_MAX));' int(-9223372036854775808) $ php -r 'var_dump(filter_var((string)~PHP_INT_MAX, FILTER_VALIDATE_INT));' bool(false) There is same problem on 64bit environment, I think. ------------------------------------------------------------------------ [2009-03-30 19:47:42] il...@php.net The multiplication is done by the standard ZEND macro, so if there is a limit issue it needs to be handled inside the Zend Engine. That said on my 64bit machine, I cannot reproduce the issue via - PHP_INT_MAX ------------------------------------------------------------------------ [2009-03-29 21:38:18] scott...@php.net Must have been sleep deprived when I looked at this last. ------------------------------------------------------------------------ [2009-03-29 16:47:47] paj...@php.net The only problem is the value we use for the max unsigned range. It should be changed to allow - 2^31, but I did not check the code more in details, but Ilia is on it so :) ------------------------------------------------------------------------ [2009-03-29 16:43:23] il...@php.net 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... ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/47745 -- Edit this bug report at http://bugs.php.net/?id=47745&edit=1