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

From: Date: Sun, 29 Mar 2009 16:47:47 +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-135278@lists.php.net to get a copy of this message
 ID:               47745
 Updated by:       pajoye@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:

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 :)


Previous Comments:
------------------------------------------------------------------------

[2009-03-29 16:43:23] iliaa@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...

------------------------------------------------------------------------

[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



Thread (8 messages)

« previous php.bugs (#135278) next »