]> granicus.if.org Git - php/commitdiff
Fixed support for references
authorDmitry Stogov <dmitry@zend.com>
Fri, 7 Mar 2014 07:32:07 +0000 (11:32 +0400)
committerDmitry Stogov <dmitry@zend.com>
Fri, 7 Mar 2014 07:32:07 +0000 (11:32 +0400)
Zend/zend_API.c

index 8372e10d34c520ae16b68ede05397526829d9d8a..7e47ebdfe845123271ae79f214fc46ca71bccb3c 100644 (file)
@@ -3155,7 +3155,13 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
 
                                if (zend_hash_num_elements(Z_ARRVAL_P(callable)) == 2) {
                                        obj = zend_hash_index_find(Z_ARRVAL_P(callable), 0);
+                                       if (Z_TYPE_P(obj) == IS_REFERENCE) {
+                                               obj = Z_REFVAL_P(obj);
+                                       }
                                        method = zend_hash_index_find(Z_ARRVAL_P(callable), 1);
+                                       if (Z_TYPE_P(method) == IS_REFERENCE) {
+                                               method = Z_REFVAL_P(method);
+                                       }
                                }
                                if (obj && method &&
                                        (Z_TYPE_P(obj) == IS_OBJECT ||