|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-04-11 11:13 UTC] calum at lasham dot com
[2004-04-12 19:44 UTC] sniper@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Dec 19 05:00:01 2025 UTC |
Description: ------------ When using the ++ operator on an overloaded object property that's not assigned a value, a debug_backtrace() in another unrelated object causes a crash. See example code to reproduce the problem. Note 1: The script executes correctly if, in the example code... $foo->bar++; is replaced with... $x = $foo->bar; $x++; $foo->bar = $x; Note 2: if the __set method in class Setter actually sets the variable on the object the script executes correctly. The bug appears in php5rc1 and the snapshot Built On: Apr 11, 2004 10:30 GMT. crash occurs when using php as apache module or from command line. Reproduce code: --------------- <?php class Setter { function __get($nm){ } function __set($nm, $val){ } } class Test { function backtrace(){ debug_backtrace(); } } $foo = new Setter(); $foo->bar++; $t = new Test(); $t->backtrace(); ?> Expected result: ---------------- "got exception" printed Actual result: -------------- apache service crash