diff options
author | Dmitry Stogov <dmitry@php.net> | 2007-01-10 15:58:08 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2007-01-10 15:58:08 +0000 |
commit | e470e22e20fa327ac7331c560dc034522ca89aae (patch) | |
tree | a8701a3d613f1e4e88d2844a9f6fcfa70724f0db /Zend/zend_object_handlers.c | |
parent | 4e0f1992ed8a1d684cb528d54773b14bed386a39 (diff) | |
download | php-git-e470e22e20fa327ac7331c560dc034522ca89aae.tar.gz |
- Fixed bug #35106 (nested foreach fails when array variable has a reference).
- Fixed bug #36214 (__get method works properly only when conditional operator is used).
- Fixed bug #39449 (Overloaded array properties do not work correctly).
- Fixed bug #39990 (Cannot "foreach" over overloaded properties).
Diffstat (limited to 'Zend/zend_object_handlers.c')
-rw-r--r-- | Zend/zend_object_handlers.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index cf7f748aed..fd5128ab28 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -334,7 +334,8 @@ zval *zend_std_read_property(zval *object, zval *member, int type TSRMLS_DC) if (rv) { retval = &rv; - if (type == BP_VAR_W || type == BP_VAR_RW || type == BP_VAR_UNSET) { + if (!rv->is_ref && + (type == BP_VAR_W || type == BP_VAR_RW || type == BP_VAR_UNSET)) { if (rv->refcount > 0) { zval *tmp = rv; |