|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2015, PHP 5.6.15
+- Core:
+ . Fixed bug #70681 (Segfault when binding $this of internal instance method
+ to null). (Nikita)
+
- Date:
. Fixed bug #70619 (DateTimeImmutable segfault). (Laruence)
--- /dev/null
+--TEST--
+Bug #70681: Segfault when binding $this of internal instance method to null
+--FILE--
+<?php
+
+$c = (new ReflectionMethod('SplStack', 'count'))->getClosure(new SplStack);
+$c = $c->bindTo(null);
+
+?>
+--EXPECTF--
+Warning: Cannot unbind $this of internal method in %s on line %d
zend_error(E_WARNING, "Cannot bind an instance to a static closure");
}
+ if (newthis == NULL && !(closure->func.common.fn_flags & ZEND_ACC_STATIC)
+ && closure->func.type == ZEND_INTERNAL_FUNCTION) {
+ zend_error(E_WARNING, "Cannot unbind $this of internal method");
+ return;
+ }
+
if (scope_arg != NULL) { /* scope argument was given */
if (IS_ZEND_STD_OBJECT(*scope_arg)) {
ce = Z_OBJCE_P(scope_arg);