#31442 [Fbk->Opn]: unserialize broken on 64-bit systems

From: Date: Sat, 08 Jan 2005 17:32:40 +0000
Subject: #31442 [Fbk->Opn]: unserialize broken on 64-bit systems
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-71615@lists.php.net to get a copy of this message
ID: 31442 User updated by: michal at cihar dot com Reported By: michal at cihar dot com -Status: Feedback +Status: Open Bug Type: Zend Engine 2 problem Operating System: 64-bit PHP Version: 4.3.10, 5.0.3 Assigned To: helly New Comment: What kind of tests do fail? I have no idea what could be broken by this change. Previous Comments: ------------------------------------------------------------------------ [2005-01-08 14:41:01] helly@php.net If i apply that patch to a 32 bit machine i get many test errors any idea? Also it is enough to put the .re diff ------------------------------------------------------------------------ [2005-01-07 16:53:10] michal at cihar dot com I haven't found way to attach patches here, so it's available on my web: http://www.cihar.com/misc/php-unserializer.patch ------------------------------------------------------------------------ [2005-01-07 16:48:11] michal at cihar dot com Description: ------------ Unserializing of numbers > MAX_INT is wrong. That's because php uses long internally for storing ints but int is used in unserializing. Attached patch fixes this issue. Reproduce code: --------------- <?php echo unserialize(serialize(2147483648)); ?> Expected result: ---------------- 2147483648 Actual result: -------------- -2147483648 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31442&edit=1

« previous php.bugs (#71615) next »