ID:               25289
 Updated by:       [EMAIL PROTECTED]
 Reported By:      skissane at ics dot mq dot edu dot au
-Status:           Open
+Status:           Closed
 Bug Type:         Reproducible crash
 Operating System: RedHat Linux 9
 PHP Version:      4.3.3
 New Comment:

Fixed in PHP 5. (won't fix in PHP 4)



Previous Comments:
------------------------------------------------------------------------

[2003-08-29 09:43:18] [EMAIL PROTECTED]

A shorter script: 
 
<?php 
$foo->bar1 = "foobar1"; 
$foo->bar2 = "foobar2"; 
foreach ($foo as $b->name => $b) { 
} 
?> 
 
The foreach loop is the problem. You're creating a new 
stdClass object with $b->name for the key, then using $b 
itself for the value, thus destroying the key used in 
stdClass. 
 
Looks to me like a ZE1 issue. Doesn't occur in HEAD.  
 
J 

------------------------------------------------------------------------

[2003-08-28 18:10:01] skissane at ics dot mq dot edu dot au

Sorry about giving so many testcases (only just learning how to do
this), but I finally have a 20-line reproduce script:

<?
class obj_database { }
class obj_enum { }
class obj_enumvalue { }

$dm = unserialize(file_get_contents("test.dat"));
foreach ($dm->obj_enum as $enum) {
    foreach ($enum->obj_enumvalue as $enumvalue) {
    }
    $i = 0;
    foreach ($enum->obj_enumvalue as $enumvalue->name => $enumvalue) {
        $out = "                 " . $enum->prefix . "_" .
$enumvalue->name . " => \"" . $enumvalue->name . "\"";
        if ($i++ < count($enum->obj_enumvalue)-1) {
        }
    }
}
?>

It depends on the test.dat data file I included with my earlier test
cases.

------------------------------------------------------------------------

[2003-08-28 11:00:37] skissane at ics dot mq dot edu dot au

Okay, I tried a bit harder, and I have now reduced it down to a single
400 line .php file, plus three associated data files which the .php
file unserializes. This results in a segmentation fault when run from
the command line or Apache.

You can get the latest one from
http://www.iips.mq.edu.au/bugs/testcase3.tgz

------------------------------------------------------------------------

[2003-08-28 10:31:21] skissane at ics dot mq dot edu dot au

I can't work out what exactly is causing it, and so can't come up with
a 20 line test. I have reduced it down to a smaller set of files, at
http://www.iips.mq.edu.au/bugs/testcase.tgz

If you have any suggestions of how I can trim this down to a smaller
test case, I'll try.

------------------------------------------------------------------------

[2003-08-28 10:07:26] [EMAIL PROTECTED]

Please provide a short script (max 20 lines), without any external
dependancies, such as database or includes().

(_one_ script, not dozens)


------------------------------------------------------------------------

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/25289

-- 
Edit this bug report at http://bugs.php.net/?id=25289&edit=1

Reply via email to