diff options
Diffstat (limited to 'Zend/zend_closures.c')
-rw-r--r-- | Zend/zend_closures.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c index b60107c9e5..d471718783 100644 --- a/Zend/zend_closures.c +++ b/Zend/zend_closures.c @@ -639,7 +639,7 @@ void zend_register_closure_ce(void) /* {{{ */ static ZEND_NAMED_FUNCTION(zend_closure_internal_handler) /* {{{ */ { - zend_closure *closure = (zend_closure*)EX(func)->common.prototype; + zend_closure *closure = (zend_closure*)ZEND_CLOSURE_OBJECT(EX(func)); closure->orig_internal_handler(INTERNAL_FUNCTION_PARAM_PASSTHRU); OBJ_RELEASE((zend_object*)closure); EX(func) = NULL; @@ -662,7 +662,6 @@ ZEND_API void zend_create_closure(zval *res, zend_function *func, zend_class_ent if (func->type == ZEND_USER_FUNCTION) { memcpy(&closure->func, func, sizeof(zend_op_array)); - closure->func.common.prototype = (zend_function*)closure; closure->func.common.fn_flags |= ZEND_ACC_CLOSURE; if (closure->func.op_array.static_variables) { closure->func.op_array.static_variables = @@ -677,7 +676,6 @@ ZEND_API void zend_create_closure(zval *res, zend_function *func, zend_class_ent } } else { memcpy(&closure->func, func, sizeof(zend_internal_function)); - closure->func.common.prototype = (zend_function*)closure; closure->func.common.fn_flags |= ZEND_ACC_CLOSURE; /* wrap internal function handler to avoid memory leak */ if (UNEXPECTED(closure->func.internal_function.handler == zend_closure_internal_handler)) { |