#51089 [Com]: Serialisationof large numbers in arrays fails
| From: | phpnet4b7e640208df0 at mon-mail dot org | Date: | Mon, 22 Feb 2010 08:56:53 +0000 |
| Subject: | #51089 [Com]: Serialisationof large numbers in arrays fails | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-147943@lists.php.net to get a copy of this message | ||
ID: 51089
Comment by: phpnet4b7e640208df0 at mon-mail dot org
Reported By: phpnet4b7e640208df0 at mon-mail dot org
Status: Feedback
Bug Type: Math related
Operating System: Windows Server 2003 R2 Standard
PHP Version: 5.3.1
New Comment:
I've downloaded new versions (both 5.3.1 and 5.3.2RC2) and they don't
exhibit the same problems (only tested from command line, but assumed to
be the same). It must be the way the binaries I'm using were compiled.
Sorry for that.
Please close this bogus report.
Previous Comments:
------------------------------------------------------------------------
[2010-02-19 12:28:25] pajoye@php.net
-Status: Open
+Status: Feedback
I can't reproduce it (with 5.3.1 or 5.3.2RC2). Can you try again with
5.3.2RC2? (http://windows.php.net/qa/)
------------------------------------------------------------------------
[2010-02-19 10:26:13] phpnet4b7e640208df0 at mon-mail dot org
Description:
------------
Unserialisation of serialised arrays containing large numbers fails and
unserialize returns FALSE.
The issue appears to be in serialized() since unserialising an array
serialised by an older version of PHP works as expected (as shown in
reproduce code).
No error is reported (as expected with unserialize()) and no crash.
Reproduce code:
---------------
<?
$anArray = Array();
$anArray["anumber"]=212133254400;
$anArray["anothernumber"]=212164790400;
print("Serialised: "); print(serialize($anArray)); print("\n");
print("Unserialised: "); print_r(unserialize(serialize($anArray)));
print("\n");
print("Error: ");
print(unserialize(serialize($anArray))===FALSE?"yes":"no");
print("\n");
print("Old style: ");
print_r(unserialize("a:2:{s:7:\"anumber\";d:212133254400;s:13:\"anothernumber\";d:212164790400;}"));
print("\n");
?>
Expected result:
----------------
Serialised:
a:2:{s:7:"anumber";d:212133254400;s:13:"anothernumber";d:212164790400;}
Unserialised:Array
(
[anumber] => 212133254400
[anothernumber] => 212164790400
)
Error: no
Old style: Array
(
[anumber] => 212133254400
[anothernumber] => 212164790400
)
Actual result:
--------------
Serialised:
a:2:{s:7:"anumber";d:2121332543:0;s:13:"anothernumber";d:2121647903:0;}
Unserialised:
Error: yes
Old style: Array
(
[anumber] => 212133254400
[anothernumber] => 212164790400
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=51089&edit=1