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

Reply via email to