From: Nikita Popov Date: Tue, 5 Jul 2016 13:22:13 +0000 (+0200) Subject: Closure::fromCallable(): Fix late static binding X-Git-Tag: php-7.1.0alpha3~11 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e959a9b65234902acb4e25602ac05d4cd546f8a7;p=php Closure::fromCallable(): Fix late static binding --- diff --git a/Zend/tests/closures/closure_from_callable_lsb.phpt b/Zend/tests/closures/closure_from_callable_lsb.phpt new file mode 100644 index 0000000000..bd57fba72e --- /dev/null +++ b/Zend/tests/closures/closure_from_callable_lsb.phpt @@ -0,0 +1,16 @@ +--TEST-- +Testing Closure::fromCallable() functionality: Late static binding +--FILE-- + +--EXPECT-- +int(1) diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c index 6185c212a8..ef321e7cbf 100644 --- a/Zend/zend_closures.c +++ b/Zend/zend_closures.c @@ -297,7 +297,7 @@ static int zend_create_closure_from_callable(zval *return_value, zval *callable, ZVAL_OBJ(&instance, fcc.object); zend_create_fake_closure(return_value, mptr, mptr->common.scope, fcc.object->ce, &instance); } else { - zend_create_fake_closure(return_value, mptr, mptr->common.scope, NULL, NULL); + zend_create_fake_closure(return_value, mptr, mptr->common.scope, mptr->common.scope, NULL); } return SUCCESS;