parameters). (Jani)
- Fixed bug #28930 (PHP sources pick wrong header files generated by bison).
(eggert at gnu dot org, Jani)
+- Fixed bug #28444 (Cannot access undefined property for object with overloaded
+ property access). (Dmitry)
- Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream).
(chris at ex-parrot dot com)
if (Z_OBJ_HT_P(object)->get_property_ptr_ptr) {
zval **ptr_ptr = Z_OBJ_HT_P(object)->get_property_ptr_ptr(object, prop_ptr TSRMLS_CC);
if(NULL == ptr_ptr) {
- zend_error(E_ERROR, "Cannot access undefined property for object with overloaded property access");
+ if (Z_OBJ_HT_P(object)->read_property &&
+ (T(result->u.var).var.ptr = Z_OBJ_HT_P(object)->read_property(object, prop_ptr, BP_VAR_W TSRMLS_CC)) != NULL) {
+ T(result->u.var).var.ptr_ptr = &T(result->u.var).var.ptr;
+ } else {
+ zend_error(E_ERROR, "Cannot access undefined property for object with overloaded property access");
+ }
+ } else {
+ T(result->u.var).var.ptr_ptr = ptr_ptr;
}
- T(result->u.var).var.ptr_ptr = ptr_ptr;
} else if (Z_OBJ_HT_P(object)->read_property) {
T(result->u.var).var.ptr = Z_OBJ_HT_P(object)->read_property(object, prop_ptr, BP_VAR_W TSRMLS_CC);
T(result->u.var).var.ptr_ptr = &T(result->u.var).var.ptr;