Index: Zend/zend_object_handlers.c =================================================================== RCS file: /repository/ZendEngine2/zend_object_handlers.c,v retrieving revision 1.135.2.6.2.22.2.14 diff -u -p -r1.135.2.6.2.22.2.14 zend_object_handlers.c --- Zend/zend_object_handlers.c 29 Apr 2008 08:15:17 -0000 1.135.2.6.2.22.2.14 +++ Zend/zend_object_handlers.c 2 May 2008 22:34:02 -0000 @@ -1116,14 +1116,20 @@ static int zend_std_has_property(zval *o if (rv) { result = zend_is_true(rv); zval_ptr_dtor(&rv); - if (has_set_exists && result && !EG(exception) && zobj->ce->__get && !guard->in_get) { - guard->in_get = 1; - rv = zend_std_call_getter(object, member TSRMLS_CC); - guard->in_get = 0; - if (rv) { - Z_ADDREF_P(rv); - result = i_zend_is_true(rv); - zval_ptr_dtor(&rv); + if (has_set_exists && result) { + if (!EG(exception) && zobj->ce->__get && !guard->in_get) { + guard->in_get = 1; + rv = zend_std_call_getter(object, member TSRMLS_CC); + guard->in_get = 0; + if (rv) { + Z_ADDREF_P(rv); + result = i_zend_is_true(rv); + zval_ptr_dtor(&rv); + } else { + result = 0; + } + } else { + result = 0; } } }