|
|
|
@ -510,6 +510,7 @@ zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_ |
|
|
|
zval tmp_member; |
|
|
|
zval *retval; |
|
|
|
uint32_t property_offset; |
|
|
|
zend_long *guard = NULL; |
|
|
|
|
|
|
|
zobj = Z_OBJ_P(object); |
|
|
|
|
|
|
|
@ -545,7 +546,7 @@ zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_ |
|
|
|
/* magic isset */ |
|
|
|
if ((type == BP_VAR_IS) && zobj->ce->__isset) { |
|
|
|
zval tmp_object, tmp_result; |
|
|
|
zend_long *guard = zend_get_property_guard(zobj, Z_STR_P(member)); |
|
|
|
guard = zend_get_property_guard(zobj, Z_STR_P(member)); |
|
|
|
|
|
|
|
if (!((*guard) & IN_ISSET)) { |
|
|
|
ZVAL_COPY(&tmp_object, object); |
|
|
|
@ -569,7 +570,9 @@ zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_ |
|
|
|
|
|
|
|
/* magic get */ |
|
|
|
if (zobj->ce->__get) { |
|
|
|
zend_long *guard = zend_get_property_guard(zobj, Z_STR_P(member)); |
|
|
|
if (guard == NULL) { |
|
|
|
guard = zend_get_property_guard(zobj, Z_STR_P(member)); |
|
|
|
} |
|
|
|
if (!((*guard) & IN_GET)) { |
|
|
|
zval tmp_object; |
|
|
|
|
|
|
|
|