Skip to content

Commit c8fef08

Browse files
committed
Merge branch 'master' into true-async
2 parents faec711 + c380f7e commit c8fef08

File tree

75 files changed

+1484
-1698
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1484
-1698
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Update clang
2+
runs:
3+
using: composite
4+
steps:
5+
- shell: bash
6+
run: |
7+
softwareupdate -l
8+
label=$((softwareupdate -l 2>/dev/null | grep 'Label:' | grep -o 'Command Line Tools for Xcode.*' | head -1) || echo '')
9+
if [ -n "$label" ]; then
10+
softwareupdate -i "$label"
11+
xcode_path=$(ls -1 '/Applications' | grep 'Xcode_.*\.app' | head -1)
12+
sudo xcode-select -s "/Applications/$xcode_path"
13+
else
14+
echo "Not found."
15+
fi
16+
which clang
17+
clang -v

.github/workflows/nightly.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,8 @@ jobs:
363363
uses: actions/checkout@v5
364364
with:
365365
ref: ${{ inputs.branch }}
366+
- name: Update clang
367+
uses: ./.github/actions/macos-update-clang
366368
- name: brew
367369
uses: ./.github/actions/brew
368370
- name: ./configure

.github/workflows/push.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ jobs:
239239
steps:
240240
- name: git checkout
241241
uses: actions/checkout@v5
242+
- name: Update clang
243+
uses: ./.github/actions/macos-update-clang
242244
- name: brew
243245
uses: ./.github/actions/brew
244246
- name: ccache

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ scattered across different websites, and often outdated. Nonetheless, they can
100100
provide a good starting point for learning about the fundamentals of the code
101101
base.
102102

103+
* https://php.github.io/php-src/
103104
* https://www.phpinternalsbook.com/
104105
* https://www.npopov.com/
105106
* [Internal value representation](https://www.npopov.com/2015/05/05/Internal-value-representation-in-PHP-7-part-1.html), [part 2](https://www.npopov.com/2015/06/19/Internal-value-representation-in-PHP-7-part-2.html)

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--------------------------------------------------------------------
22
The PHP License, version 3.01
3-
Copyright (c) 1999 - 2024 The PHP Group. All rights reserved.
3+
Copyright (c) 1999 - 2025 The PHP Group. All rights reserved.
44
--------------------------------------------------------------------
55

66
Redistribution and use in source and binary forms, with or without

NEWS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,17 @@ PHP NEWS
1515
. Added IntlNumberRangeFormatter class to format an interval of two numbers
1616
with a given skeleton, locale, collapse type and identity fallback.
1717
(BogdanUngureanu)
18+
. Fixed bug GH-20426 (Spoofchecker::setRestrictionLevel() error message
19+
suggests missing constants). (DanielEScherzer)
1820

1921
- Fibers:
2022
. Fixed bug GH-20483 (ASAN stack overflow with fiber.stack_size INI
2123
small value). (David Carlier)
2224

25+
- Mbstring:
26+
. ini_set() with mbstring.detect_order changes the order of mb_detect_order
27+
as intended, since mbstring.detect_order is an INI_ALL setting. (tobee94)
28+
2329
- Opcache:
2430
. Fixed bug GH-20051 (apache2 shutdowns when restart is requested during
2531
preloading). (Arnaud, welcomycozyhom)
@@ -44,6 +50,8 @@ PHP NEWS
4450
- Streams:
4551
. Added so_reuseaddr streams context socket option that allows disabling
4652
address resuse.
53+
. Fixed bug GH-20370 (User stream filters could violate typed property
54+
constraints). (alexandre-daubois)
4755

4856
- Zip:
4957
. Fixed ZipArchive callback being called after executor has shut down.

UPGRADING

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ PHP 8.6 UPGRADE NOTES
9898
When used along with ZEND_JIT_DEBUG_TRACE_EXIT_INFO, the source of exit
9999
points is printed in exit info output, in debug builds.
100100

101+
- Mbstring:
102+
. The mbstring.detect_order INI directive now updates the internal detection
103+
order when changed at runtime via ini_set(). Previously, runtime changes
104+
using ini_set() did not take effect for mb_detect_order(). Setting the
105+
directive to NULL or an empty string at runtime now leaves the previously
106+
configured detection order unchanged.
107+
101108
========================================
102109
12. Windows Support
103110
========================================

Zend/tests/oss-fuzz-465488618.phpt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
--TEST--
2+
OSS-Fuzz #465488618: Dump function signature with dynamic class const lookup default argument
3+
--FILE--
4+
<?php
5+
6+
class A {
7+
public function test(int $x) {}
8+
}
9+
10+
class B extends A {
11+
public function test(string $x = Foo::{C}) {}
12+
}
13+
14+
?>
15+
--EXPECTF--
16+
Fatal error: Declaration of B::test(string $x = <expression>) must be compatible with A::test(int $x) in %s on line %d

Zend/zend_inheritance.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,9 @@ static ZEND_COLD zend_string *zend_get_function_declaration(
10111011
zend_ast *ast = Z_ASTVAL_P(zv);
10121012
if (ast->kind == ZEND_AST_CONSTANT) {
10131013
smart_str_append(&str, zend_ast_get_constant_name(ast));
1014-
} else if (ast->kind == ZEND_AST_CLASS_CONST) {
1014+
} else if (ast->kind == ZEND_AST_CLASS_CONST
1015+
&& ast->child[1]->kind == ZEND_AST_ZVAL
1016+
&& Z_TYPE_P(zend_ast_get_zval(ast->child[1])) == IS_STRING) {
10151017
smart_str_append(&str, zend_ast_get_str(ast->child[0]));
10161018
smart_str_appends(&str, "::");
10171019
smart_str_append(&str, zend_ast_get_str(ast->child[1]));

0 commit comments

Comments
 (0)