mirror of
https://github.com/php/php-src.git
synced 2025-08-18 06:58:55 +02:00
Fixed bug #46409 (__invoke method called outside of object context when using array_map)
This commit is contained in:
parent
496ec83e38
commit
e5454b359a
29 changed files with 147 additions and 134 deletions
|
@ -2200,7 +2200,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
|
|||
fci.function_table = &ce->function_table;
|
||||
fci.function_name = NULL;
|
||||
fci.symbol_table = NULL;
|
||||
fci.object_pp = &return_value;
|
||||
fci.object_ptr = return_value;
|
||||
fci.retval_ptr_ptr = &retval_ptr;
|
||||
if (ctor_params && Z_TYPE_P(ctor_params) != IS_NULL) {
|
||||
if (Z_TYPE_P(ctor_params) == IS_ARRAY) {
|
||||
|
@ -2234,7 +2234,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
|
|||
fcc.function_handler = ce->constructor;
|
||||
fcc.calling_scope = EG(scope);
|
||||
fcc.called_scope = Z_OBJCE_P(return_value);
|
||||
fcc.object_pp = &return_value;
|
||||
fcc.object_ptr = return_value;
|
||||
|
||||
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
|
||||
zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 0 TSRMLS_CC, "Could not execute %v::%v()", ce->name, ce->constructor->common.function_name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue