Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_object_handlers.c /tests bug48248.phpt
[email protected] (Jani Taskinen) Wed, 13 May 2009 02:40:59 +0300
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <[email protected]> |
..which you did already. I was a bit too trigger happy. :D
--Jani
Jani Taskinen kirjoitti:
> The code crashes also in PHP_5_2, so please MFH there too.
>
> --Jani
>
>
> Felipe Pena kirjoitti:
>> felipe Tue May 12 22:55:06 2009 UTC
>>
>> Added files: (Branch: PHP_5_3)
>> /ZendEngine2/tests bug48248.phpt
>> Modified files: /ZendEngine2
>> zend_object_handlers.c Log:
>> - MFH: Fixed bug #48248 (SIGSEGV when access to private property via
>> &__get)
>>
>> http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_object_handlers.c?r1=1.135.2.6.2.22.2.26&r2=1.135.2.6.2.22.2.27&diff_format=u
>>
>> Index: ZendEngine2/zend_object_handlers.c
>> diff -u ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.26
>> ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.27
>> --- ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.26 Wed Jan
>> 14 10:28:22 2009
>> +++ ZendEngine2/zend_object_handlers.c Tue May 12 22:55:05 2009
>> @@ -17,7 +17,7 @@
>>
>> +----------------------------------------------------------------------+
>> */
>>
>> -/* $Id: zend_object_handlers.c,v 1.135.2.6.2.22.2.26 2009/01/14
>> 10:28:22 dmitry Exp $ */
>> +/* $Id: zend_object_handlers.c,v 1.135.2.6.2.22.2.27 2009/05/12
>> 22:55:05 felipe Exp $ */
>>
>> #include "zend.h"
>> #include "zend_globals.h"
>> @@ -578,8 +578,8 @@
>> zend_guard *guard;
>>
>> if (!zobj->ce->__get ||
>> - zend_get_property_guard(zobj, property_info, member,
>> &guard) != SUCCESS ||
>> - guard->in_get) {
>> + zend_get_property_guard(zobj, property_info, member,
>> &guard) != SUCCESS ||
>> + (property_info && guard->in_get)) {
>> /* we don't have access controls - will just add it */
>> new_zval = &EG(uninitialized_zval);
>>
>>
>> http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug48248.phpt?view=markup&rev=1.1
>>
>> Index: ZendEngine2/tests/bug48248.phpt
>> +++ ZendEngine2/tests/bug48248.phpt
>> --TEST--
>> Bug #48248 (SIGSEGV when access to private property via &__get)
>> --FILE--
>> <?php
>>
>> class A
>> {
>> public function & __get($name)
>> {
>> return $this->test;
>> }
>> }
>>
>> class B extends A
>> {
>> private $test;
>> }
>>
>> $b = new B;
>> var_dump($b->test);
>>
>> ?>
>> --EXPECTF--
>> Notice: Undefined property: B::$test in %s on line %d
>>
>> Notice: Only variable references should be returned by reference in %s
>> on line %d
>> NULL
>>
>>
>>
>
>