diff options
author | Stanislav Malyshev <stas@php.net> | 2004-07-14 09:01:58 +0000 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2004-07-14 09:01:58 +0000 |
commit | 28d72ce2fdd88f416b02feaf0900967bacd55ab9 (patch) | |
tree | 718b1e7e1bf076b51ee4dc7cc525a234743c3412 | |
parent | 51ae1cc7bd2e4e0c1164ac7b95b7c7ee514f7a68 (diff) | |
download | php-git-28d72ce2fdd88f416b02feaf0900967bacd55ab9.tar.gz |
fix #28957
-rw-r--r-- | Zend/zend_object_handlers.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index d7f57a8d96..4beb8df3c9 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -381,7 +381,15 @@ zval *zend_std_read_dimension(zval *object, zval *offset, int type TSRMLS_DC) zval *retval; if (instanceof_function_ex(ce, zend_ce_arrayaccess, 1 TSRMLS_CC)) { + if(offset == NULL) { + /* [] construct */ + zval offset_null; + ZVAL_NULL(&offset_null); + zend_call_method_with_1_params(&object, ce, NULL, "offsetget", &retval, &offset_null); + zval_dtor(&offset_null); /* just in case */ + } else { zend_call_method_with_1_params(&object, ce, NULL, "offsetget", &retval, offset); + } if (!retval) { if (!EG(exception)) { zend_error(E_ERROR, "Undefined offset for object of type %s used as array", ce->name); |