From: [EMAIL PROTECTED]
Operating system: RedHat 6.2
PHP version: 4.0.4pl1
PHP Bug Type: Variables related
Bug description: unserialize fails non-determenistic on large objects
I'm unserializing a large object using the following test script:
for ($i = 0; $i < 20; $i++)
{
echo "$i\n";
$ObjectToCreate = array();
if (!$fp = fopen('test.ser', 'r'))
return false;
$ObjectToCreate = unserialize(fread ($fp, filesize ('test.ser')));
fclose($fp);
}
I get the following output:
0
1
2
3
4
5
6
PHP Warning: unserialize() failed at offset 2150380 of 3601223 bytes in test.inc on
line 8
<font color=ff0000><br>
<b>Warning</b>: unserialize() failed at offset 2150380 of 3601223 bytes in
<b>test.inc</b> on line <b>8</b><br>
</font>7
8
9
10
11
PHP Warning: unserialize() failed at offset 2822123 of 3601223 bytes in test.inc on
line 8
<font color=ff0000><br>
<b>Warning</b>: unserialize() failed at offset 2822123 of 3601223 bytes in
<b>test.inc</b> on line <b>8</b><br>
</font>12
13
14
15
16
17
18
19
Repeatedly running the script produces different output each time with different
numbers of failures at different offsets. So far the lowest offset at which I have
had a problem is about 650000.
I can supply the 'test.ser' file on request but for obvious reasons do not wish to
include it in this error report!
--
Edit Bug report at: http://bugs.php.net/?id=9240&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]