#46701 [Opn->Csd]: Creating associative array with long values in the key fails on 32bit linux
| From: | felipe@php.net | Date: | Mon, 05 Jan 2009 20:42:49 +0000 |
| Subject: | #46701 [Opn->Csd]: Creating associative array with long values in the key fails on 32bit linux | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-132569@lists.php.net to get a copy of this message | ||
ID: 46701
Updated by: felipe@php.net
Reported By: testuzer at hotmail dot com
-Status: Open
+Status: Closed
Bug Type: Arrays related
Operating System: Linux 32bit - ubuntu
PHP Version: 5CVS, 6CVS (2008-11-28)
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.
Fixed in 5_3 and HEAD at the moment.
Previous Comments:
------------------------------------------------------------------------
[2009-01-05 01:54:58] maxhex at hotmail dot com
MIX
------------------------------------------------------------------------
[2009-01-03 05:03:24] shire@php.net
Proposed patches to make $array[$double] perform the same as
$array[intval($double)]...
http://tekrat.com/patches/bug46701.php6.patch
http://tekrat.com/patches/bug46701.php53.patch
http://tekrat.com/patches/bug46701.php52.patch
------------------------------------------------------------------------
[2008-12-04 01:43:46] msaraujo@php.net
Array
(
[-2147483648] => 1
)
Reproduced here.
------------------------------------------------------------------------
[2008-12-01 01:49:09] cyberquoter at gmail dot com
OS: Debian Linux 2.6.18-6-686 (32bit)
PHP: 5.2.0-8+etch13
Result:
Array
(
[-2147483648] => 1
)
------------------------------------------------------------------------
[2008-11-29 06:56:11] testuzer at hotmail dot com
Can also confirm Linux -ubuntu 64bit works.
Actual result Linux 64bit (php 5.2.4):
--------------
Array
(
[3428599296] => 1
[3459455488] => 1
[3459616768] => 1
)
Obviously the 32bit os treats it as a signed 32bit value
and a 64bit os as a 64bit value..... so you get a positive
value. The array key handling is _only_ broken on linux 32bit.
------------------------------------------------------------------------
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/46701
--
Edit this bug report at http://bugs.php.net/?id=46701&edit=1