diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-15 12:42:48 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-15 12:43:31 +0100 |
commit | c70220205e20005ad916289ea6958d156fac54da (patch) | |
tree | a6631530412789a7ef70885718399fbfeff92718 /Zend/zend_compile.c | |
parent | 8b9dd0a3014e7a3c76fc2ddded374fa4ca0ed386 (diff) | |
download | php-git-c70220205e20005ad916289ea6958d156fac54da.tar.gz |
Fix assertion failure in cufa optimization with named args
Fixes oss-fuzz#30764.
Diffstat (limited to 'Zend/zend_compile.c')
-rw-r--r-- | Zend/zend_compile.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 57c33e3c96..19a1c543ab 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -3878,6 +3878,7 @@ zend_result zend_compile_func_cufa(znode *result, zend_ast_list *args, zend_stri zend_string *name = zend_resolve_function_name(orig_name, args->child[1]->child[0]->attr, &is_fully_qualified); if (zend_string_equals_literal_ci(name, "array_slice") + && !zend_args_contain_unpack_or_named(list) && list->children == 3 && list->child[1]->kind == ZEND_AST_ZVAL) { zval *zv = zend_ast_get_zval(list->child[1]); |