#24710 [Ver]: $obj->foo = "bar"; print $obj->{0}; segfaults

From: Date: Fri, 18 Jul 2003 23:01:26 +0000
Subject: #24710 [Ver]: $obj->foo = "bar"; print $obj->{0}; segfaults
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-44271@lists.php.net to get a copy of this message
ID: 24710 Updated by: meebey@php.net Reported By: swalk at prp dot physik dot tu-darmstadt dot de Status: Verified Bug Type: Reproducible crash Operating System: Any PHP Version: 4.3.2 New Comment: ups, I made a typo in the 2. testscript, it should be "var $foo;" instead of "var foo;" it also segfaults... Previous Comments: ------------------------------------------------------------------------ [2003-07-18 17:57:46] meebey@php.net I could reproduce this behavior with PHP 4.3.0, 4.3.1, 4.3.2, 4.2.3. With 5.0.0b1 it doesn't segfault but shows no output neither a warning or fatal. With this code instead it works like expected: <?php class test { var foo; } $obj = &new test(); $obj->foo = "bar"; print $obj->{0}; ?> Outputs: PHP Parse error: parse error, expecting `T_VARIABLE' in /home/meebey/phpbug.php on line 4 ------------------------------------------------------------------------ [2003-07-18 17:30:18] swalk at prp dot physik dot tu-darmstadt dot de sorry, mozillas cache was messing up. ------------------------------------------------------------------------ [2003-07-18 17:28:12] swalk at prp dot physik dot tu-darmstadt dot de Description: ------------ This little script creates a segfault on every version of php i came across (4.3.2, 4.3.3rc1, 5.0.0b2). When you replace 0 with "0", it works. Reproduce code: --------------- <?php $obj->foo = "bar"; // or anything else that creates an object print $obj->{0}; ?> Expected result: ---------------- Notice: undefined property: 0... or something alike Actual result: -------------- (gdb) bt #0 0x08146cf8 in zend_hash_find (ht=0x8211f64, arKey=0x0, nKeyLength=4, pData=0xbfffca9c) at /home/et/sources/php-4.3.2/Zend/zend_hash.c:875 #1 0x08151e70 in zend_fetch_property_address_inner (ht=0x8211f64, op2=0x8219910, Ts=0xbfffcb40, type=0) at /home/et/sources/php-4.3.2/Zend/zend_execute.c:199 #2 0x0814c6b9 in zend_fetch_property_address (result=0x82198f0, op1=0x8215244, op2=0x8219910, Ts=0xbfffcb40, type=0) at /home/et/sources/php-4.3.2/Zend/zend_execute.c:930 #3 0x08150e97 in execute (op_array=0x82156a4) at /home/et/sources/php-4.3.2/Zend/zend_execute.c:1328 #4 0x081426f1 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/et/sources/php-4.3.2/Zend/zend.c:869 #5 0x0811d2fb in php_execute_script (primary_file=0xbffff070) at /home/et/sources/php-4.3.2/main/main.c:1671 #6 0x08153932 in main (argc=4, argv=0xbffff0f4) at /home/et/sources/php-4.3.2/sapi/cli/php_cli.c:806 #7 0x420158f7 in __libc_start_main () from /lib/i686/libc.so.6 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24710&edit=1

« previous php.bugs (#44271) next »