Merge branch 'PHP-5.4'

* PHP-5.4:
  - Improved fix for #62384
This commit is contained in:
Felipe Pena 2012-06-23 15:16:20 -03:00
commit 1fc5659ebd

View File

@ -2925,12 +2925,10 @@ ZEND_METHOD(reflection_method, invokeArgs)
fcc.object_ptr = object;
/*
* Closure::__invoke() actually expects a copy of zend_function, so that it
* frees it after the invoking.
* Copy the zend_function when calling via handler (e.g. Closure::__invoke())
*/
if (obj_ce == zend_ce_closure && object &&
strlen(mptr->common.function_name) == sizeof(ZEND_INVOKE_FUNC_NAME)-1 &&
memcmp(mptr->common.function_name, ZEND_INVOKE_FUNC_NAME, sizeof(ZEND_INVOKE_FUNC_NAME)-1) == 0) {
if (mptr->type == ZEND_INTERNAL_FUNCTION &&
(mptr->internal_function.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0) {
fcc.function_handler = _copy_function(mptr TSRMLS_CC);
}