From: Dmitry Stogov Date: Thu, 15 May 2014 08:11:24 +0000 (+0400) Subject: Fixed get_zval_property() X-Git-Tag: POST_PHPNG_MERGE~365^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1c539ce676386c9a6d7f92cd8c941ac59a61770;p=php Fixed get_zval_property() --- diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 4491c1007b..9afaa51b9c 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1206,17 +1206,18 @@ static zval* get_zval_property(zval* object, char* name, zval *rv TSRMLS_DC) ZVAL_STRING(&member, name); old_scope = EG(scope); EG(scope) = Z_OBJCE_P(object); - data = Z_OBJ_HT_P(object)->read_property(object, &member, BP_VAR_IS, 0, &rv TSRMLS_CC); + data = Z_OBJ_HT_P(object)->read_property(object, &member, BP_VAR_IS, -1, &rv TSRMLS_CC); if (data == &EG(uninitialized_zval)) { /* Hack for bug #32455 */ zend_property_info *property_info; property_info = zend_get_property_info(Z_OBJCE_P(object), &member, 1 TSRMLS_CC); - zval_ptr_dtor(&member); EG(scope) = old_scope; if (property_info && zend_hash_exists(Z_OBJPROP_P(object), property_info->name)) { + zval_ptr_dtor(&member); return data; } + zval_ptr_dtor(&member); return NULL; } zval_ptr_dtor(&member);