Merge branch 'PHP-8.2' into PHP-8.3

* PHP-8.2:
  Fix uninitialized lineno in constant AST of internal enums
This commit is contained in:
Ilija Tovilo 2024-09-08 23:44:48 +02:00
commit e207071129
No known key found for this signature in database
GPG Key ID: 5050C66BFCD1015A
2 changed files with 4 additions and 0 deletions

1
NEWS
View File

@ -12,6 +12,7 @@ PHP NEWS
. Fixed bug GH-15587 (CRC32 API build error on arm 32-bit).
(Bernd Kuhls, Thomas Petazzoni)
. Fixed bug GH-15330 (Do not scan generator frames more than once). (Arnaud)
. Fixed uninitialized lineno in constant AST of internal enums. (ilutov)
- Curl:
. FIxed bug GH-15547 (curl_multi_select overflow on timeout argument).

View File

@ -541,12 +541,14 @@ static zend_ast_ref *create_enum_case_ast(
ast->child[0]->attr = 0;
ZEND_ASSERT(ZSTR_IS_INTERNED(class_name));
ZVAL_STR(zend_ast_get_zval(ast->child[0]), class_name);
Z_LINENO_P(zend_ast_get_zval(ast->child[0])) = 0;
ast->child[1] = (zend_ast *) p; p += sizeof(zend_ast_zval);
ast->child[1]->kind = ZEND_AST_ZVAL;
ast->child[1]->attr = 0;
ZEND_ASSERT(ZSTR_IS_INTERNED(case_name));
ZVAL_STR(zend_ast_get_zval(ast->child[1]), case_name);
Z_LINENO_P(zend_ast_get_zval(ast->child[1])) = 0;
if (value) {
ast->child[2] = (zend_ast *) p; p += sizeof(zend_ast_zval);
@ -554,6 +556,7 @@ static zend_ast_ref *create_enum_case_ast(
ast->child[2]->attr = 0;
ZEND_ASSERT(!Z_REFCOUNTED_P(value));
ZVAL_COPY_VALUE(zend_ast_get_zval(ast->child[2]), value);
Z_LINENO_P(zend_ast_get_zval(ast->child[2])) = 0;
} else {
ast->child[2] = NULL;
}