svn: /php/php-src/trunk/Zend/ zend_API.c
| From: | Dmitry Stogov | Date: | Wed, 11 Aug 2010 08:34:54 +0000 |
| Subject: | svn: /php/php-src/trunk/Zend/ zend_API.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-63262@lists.php.net to get a copy of this message | ||
dmitry Wed, 11 Aug 2010 08:34:54 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=302101
Log:
Fixed support for static properties of internal classes
Changed paths:
U php/php-src/trunk/Zend/zend_API.c
Modified: php/php-src/trunk/Zend/zend_API.c
===================================================================
--- php/php-src/trunk/Zend/zend_API.c 2010-08-11 08:30:44 UTC (rev 302100)
+++ php/php-src/trunk/Zend/zend_API.c 2010-08-11 08:34:54 UTC (rev 302101)
@@ -1044,12 +1044,15 @@
p = &class_type->default_static_members_table[i];
if (Z_ISREF_PP(p) &&
class_type->parent &&
- class_type->parent->default_static_members_count < i &&
- *p == class_type->parent->default_static_members_table[i]
+ i < class_type->parent->default_static_members_count &&
+ *p == class_type->parent->default_static_members_table[i] &&
+ CE_STATIC_MEMBERS(class_type->parent)[i]
) {
- Z_ADDREF_PP(p);
- Z_SET_ISREF_PP(p);
- CE_STATIC_MEMBERS(class_type)[i] = *p;
+ zval *q = CE_STATIC_MEMBERS(class_type->parent)[i];
+
+ Z_ADDREF_P(q);
+ Z_SET_ISREF_P(q);
+ CE_STATIC_MEMBERS(class_type)[i] = q;
} else {
zval *r;