mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Merge branch 'PHP-8.4'
* PHP-8.4: Fix GH-16266: _ZendTestClass::test() segfaults on named parameter
This commit is contained in:
commit
50acf5eb15
2 changed files with 23 additions and 2 deletions
|
@ -850,7 +850,7 @@ static zend_function *zend_test_class_method_get(zend_object **object, zend_stri
|
|||
}
|
||||
memset(fptr, 0, sizeof(zend_internal_function));
|
||||
fptr->type = ZEND_INTERNAL_FUNCTION;
|
||||
fptr->num_args = 1;
|
||||
fptr->num_args = 0;
|
||||
fptr->scope = (*object)->ce;
|
||||
fptr->fn_flags = ZEND_ACC_CALL_VIA_HANDLER;
|
||||
fptr->function_name = zend_string_copy(name);
|
||||
|
@ -874,7 +874,7 @@ static zend_function *zend_test_class_static_method_get(zend_class_entry *ce, ze
|
|||
}
|
||||
memset(fptr, 0, sizeof(zend_internal_function));
|
||||
fptr->type = ZEND_INTERNAL_FUNCTION;
|
||||
fptr->num_args = 1;
|
||||
fptr->num_args = 0;
|
||||
fptr->scope = ce;
|
||||
fptr->fn_flags = ZEND_ACC_CALL_VIA_HANDLER|ZEND_ACC_STATIC;
|
||||
fptr->function_name = zend_string_copy(name);
|
||||
|
|
21
ext/zend_test/tests/gh16266.phpt
Normal file
21
ext/zend_test/tests/gh16266.phpt
Normal file
|
@ -0,0 +1,21 @@
|
|||
--TEST--
|
||||
GH-16266 (_ZendTestClass::test() segfaults on named parameter)
|
||||
--EXTENSIONS--
|
||||
zend_test
|
||||
--FILE--
|
||||
<?php
|
||||
try {
|
||||
$o = new _ZendTestClass();
|
||||
$o->test('a', 'b', c: 'c');
|
||||
} catch (Error $e) {
|
||||
echo $e->getMessage(), "\n";
|
||||
}
|
||||
try {
|
||||
_ZendTestClass::test('a', 'b', c: 'c');
|
||||
} catch (Error $e) {
|
||||
echo $e->getMessage(), "\n";
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
Unknown named parameter $c
|
||||
Unknown named parameter $c
|
Loading…
Add table
Add a link
Reference in a new issue