#34505 [Opn->Asn]: Possible memory corruption.

From: Date: Wed, 14 Sep 2005 23:01:26 +0000
Subject: #34505 [Opn->Asn]: Possible memory corruption.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-85061@lists.php.net to get a copy of this message
ID: 34505 Updated by: tony2001@php.net Reported By: stochnagara at hotmail dot com -Status: Open +Status: Assigned Bug Type: Scripting Engine problem Operating System: windows xp PHP Version: 5CVS-2005-09-15 (snap) -Assigned To: +Assigned To: tony2001 New Comment: Assigned to myself. IIRC I have even cooked a patch for it, but didn't apply for a reason. Previous Comments: ------------------------------------------------------------------------ [2005-09-15 00:49:19] stochnagara at hotmail dot com Description: ------------ I know that the code below is senseless in this form, but I came across it accidentally. This code prodcues a dump of $b object variable which contains two members - 'd' and a strange member shown as ':private'. The name is ':private' when the last line is not present. When this line (echo $a->{4} or similar) is put in the script, var_dump ($b) starts to produce a different dump on each script run. A sample output is shown below. Reproduce code: --------------- <? $a['d'] = 4; $a[''] = 5; $b =(object)$a; var_dump($b); echo $a->{4}; Expected result: ---------------- Maybe object(stdClass)#1 (2) { array (['d'] => int(4), [''] => int(5)) } Actual result: -------------- A sample result is object(stdClass)#1 (2) { ["d"]=> int(4) ["¤:private"]=> int(5) } But '¤' is often another symbol or a sequence of symbols. Also it is sometimes just [":private"]. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34505&edit=1

« previous php.bugs (#85061) next »