Bug #73753 [NEW]: unserialized array pointer not advancing

From: Date: Thu, 15 Dec 2016 19:14:35 +0000
Subject: Bug #73753 [NEW]: unserialized array pointer not advancing
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-206042@lists.php.net to get a copy of this message
From: devosc at gmail dot com Operating system: PHP version: 7.1.0 Package: Scripting Engine problem Bug Type: Bug Bug description:unserialized array pointer not advancing Description: ------------ Internal pointer of unserialized array does not advance correctly. Test script: --------------- <?php function iterate($current, $queue, $result = null) { if (!$current) { return $result; } return iterate(step($queue), $queue, $current); } function step(&$queue) { return next($queue); } function start($queue) { return current($queue); } function traverse($queue) { return iterate(start($queue), $queue); } $queue = ['foo', 'bar', 'baz']; $queue = unserialize(serialize($queue)); echo traverse($queue); //baz Expected result: ---------------- It should output 'baz'. Actual result: -------------- Recursion error. The internal pointer is stuck on the second item and does not move forward. It works in 5.6 and when $queue is a reference in the signature of the iterate function. Seems inconsistent. -- Edit bug report at https://bugs.php.net/bug.php?id=73753&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=73753&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=73753&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=73753&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=73753&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=73753&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=73753&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=73753&r=needscript Try newer version: https://bugs.php.net/fix.php?id=73753&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=73753&r=support Expected behavior: https://bugs.php.net/fix.php?id=73753&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=73753&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=73753&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=73753&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=73753&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=73753&r=dst IIS Stability: https://bugs.php.net/fix.php?id=73753&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=73753&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=73753&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=73753&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=73753&r=mysqlcfg

« previous php.bugs (#206042) next »