Skip to content

Commit 9ece1d1

Browse files
committed
Merge tag 'php-8.2.19' into was-8.2.x
Tag for php-8.2.19
2 parents 282a133 + 2d64198 commit 9ece1d1

File tree

174 files changed

+1588
-166
lines changed

Some content is hidden

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

174 files changed

+1588
-166
lines changed

.circleci/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,8 @@ jobs:
184184
-d opcache.enable_cli=1 \
185185
-d opcache.jit_buffer_size=16M \
186186
-d opcache.jit=tracing \
187+
-d zend_test.observer.enabled=1 \
188+
-d zend_test.observer.show_output=0 \
187189
-P -q -x -j2 \
188190
-g FAIL,BORK,LEAK,XLEAK \
189191
--no-progress \

.github/nightly_matrix.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ function get_matrix_include(array $branches) {
7070
'debug' => true,
7171
'zts' => true,
7272
'configuration_parameters' => "CFLAGS='-DZEND_RC_DEBUG=1 -DPROFITABILITY_CHECKS=0 -DZEND_VERIFY_FUNC_INFO=1'",
73+
'run_tests_parameters' => '-d zend_test.observer.enabled=1 -d zend_test.observer.show_output=0',
7374
'timeout_minutes' => 360,
7475
'test_function_jit' => true,
7576
];

.github/workflows/push.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ env:
4242
CXX: ccache g++
4343
jobs:
4444
LINUX_X64:
45+
if: github.repository == 'php/php-src' || github.event_name == 'pull_request'
4546
strategy:
4647
fail-fast: false
4748
matrix:
@@ -98,6 +99,7 @@ jobs:
9899
- name: Verify generated files are up to date
99100
uses: ./.github/actions/verify-generated-files
100101
MACOS_DEBUG_NTS:
102+
if: github.repository == 'php/php-src' || github.event_name == 'pull_request'
101103
runs-on: macos-12
102104
steps:
103105
- name: git checkout
@@ -131,6 +133,7 @@ jobs:
131133
- name: Verify generated files are up to date
132134
uses: ./.github/actions/verify-generated-files
133135
WINDOWS:
136+
if: github.repository == 'php/php-src' || github.event_name == 'pull_request'
134137
name: WINDOWS_X64_ZTS
135138
runs-on: windows-2019
136139
env:

NEWS

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,81 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3+
09 May 2024, PHP 8.2.19
4+
5+
- Core:
6+
. Fixed bug GH-13772 (Invalid execute_data->opline pointers in observer fcall
7+
handlers when JIT is enabled). (Bob)
8+
. Fixed bug GH-13931 (Applying zero offset to null pointer in
9+
Zend/zend_opcode.c). (nielsdos)
10+
. Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with
11+
other timeout implementations). (Kévin Dunglas)
12+
. Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert
13+
parameters). (ilutov)
14+
. Fixed bug GH-14013 (Erroneous dnl appended in configure). (Peter Kokot)
15+
. Fixed bug GH-10232 (If autoloading occurs during constant resolution
16+
filename and lineno are identified incorrectly). (ranvis)
17+
. Fixed bug GH-13727 (Missing void keyword). (Peter Kokot)
18+
19+
- Fibers:
20+
. Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
21+
(nielsdos)
22+
23+
- FPM:
24+
. Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
25+
(Jakub Zelenka)
26+
27+
- Intl:
28+
. Fixed build for icu 74 and onwards. (dunglas)
29+
30+
- MySQLnd:
31+
. Fix shift out of bounds on 32-bit non-fast-path platforms. (nielsdos)
32+
33+
- Opcache:
34+
. Fixed incorrect assumptions across compilation units for static calls.
35+
(ilutov)
36+
37+
- OpenSSL:
38+
. Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
39+
(Jakub Zelenka)
40+
41+
- PDO SQLite:
42+
. Fix GH-13984 (Buffer size is now checked before memcmp). (Saki Takamachi)
43+
. Fix GH-13998 (Manage refcount of agg_context->val correctly).
44+
(Saki Takamachi)
45+
46+
- Phar:
47+
. Fixed bug GH-13836 (Renaming a file in a Phar to an already existing
48+
filename causes a NULL pointer dereference). (nielsdos)
49+
. Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
50+
(nielsdos)
51+
. Fix potential NULL pointer dereference before calling EVP_SignInit. (icy17)
52+
53+
- PHPDBG:
54+
. Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
55+
(nielsdos)
56+
57+
- Posix:
58+
. Fix usage of reentrant functions in ext/posix. (Arnaud)
59+
60+
- Session:
61+
. Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in
62+
ext/session/mod_files.c). (nielsdos)
63+
. Fixed bug GH-13891 (memleak and segfault when using ini_set with
64+
session.trans_sid_hosts). (nielsdos, kamil-tekiela)
65+
. Fixed buffer _read/_write size limit on windows for the file mode. (David Carlier)
66+
67+
- Streams:
68+
. Fixed file_get_contents() on Windows fails with "errno=22 Invalid
69+
argument". (Damian Wójcik)
70+
. Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
71+
(Jakub Zelenka)
72+
. Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in
73+
ext/openssl/xp_ssl.c - causing use of dead socket). (nielsdos)
74+
. Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64). (Arnaud)
75+
76+
- Treewide:
77+
. Fix gcc-14 Wcalloc-transposed-args warnings. (Cristian Rodríguez)
78+
379
11 Apr 2024, PHP 8.2.18
480

581
- Core:
@@ -15,7 +91,7 @@ PHP NEWS
1591
. Fix phpdoc for DOMDocument load methods. (VincentLanglet)
1692

1793
- FPM
18-
. Fix incorrect check in fpm_shm_free(). (nielsdos)
94+
. Fixed incorrect check in fpm_shm_free(). (nielsdos)
1995

2096
- GD:
2197
. Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests). (Michael Orlitzky)
@@ -144,7 +220,7 @@ PHP NEWS
144220
(David Carlier).
145221

146222
- PDO_Firebird:
147-
. Fix GH-13119 (Changed to convert float and double values ​​into strings using
223+
. Fix GH-13119 (Changed to convert float and double values into strings using
148224
`H` format). (SakiTakamachi)
149225

150226
- Phar:

Zend/Optimizer/zend_inference.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5053,6 +5053,9 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op
50535053
return 1;
50545054
}
50555055
}
5056+
if (t1 & (MAY_BE_ARRAY_OF_OBJECT|MAY_BE_ARRAY_OF_RESOURCE|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_ARRAY_OF_REF)) {
5057+
return 1;
5058+
}
50565059
return (t1 & (MAY_BE_OBJECT|MAY_BE_RESOURCE|MAY_BE_TRUE|MAY_BE_FALSE|MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE)) || opline->op2_type == IS_UNUSED ||
50575060
(t2 & (MAY_BE_UNDEF|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE));
50585061
case ZEND_ASSIGN_OBJ:

Zend/tests/gh10232.phpt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
--TEST--
2+
GH-10232 (Weird behaviour when a file is autoloaded in assignment of a constant)
3+
--FILE--
4+
<?php
5+
6+
set_include_path('gh10232-nonexistent') or exit(1);
7+
chdir(__DIR__) or exit(1);
8+
9+
spl_autoload_register(function () {
10+
trigger_error(__LINE__);
11+
$ex = new Exception();
12+
echo 'Exception on line ', $ex->getLine(), "\n";
13+
require_once __DIR__ . '/gh10232/constant_def.inc';
14+
}, true);
15+
16+
17+
class ConstantRef
18+
{
19+
public const VALUE = ConstantDef::VALUE;
20+
}
21+
22+
ConstantRef::VALUE;
23+
24+
?>
25+
--EXPECTF--
26+
Notice: 7 in %sgh10232.php on line 7
27+
Exception on line 8
28+
29+
Notice: constant_def.inc in %sconstant_def.inc on line 3
30+
Exception in constant_def.inc on line 4
31+
32+
Notice: required.inc in %srequired.inc on line 3
33+
Exception in required.inc on line 4
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
trigger_error(basename(__FILE__));
4+
$ex = new Exception();
5+
echo 'Exception in ', basename($ex->getFile()), ' on line ', $ex->getLine(), "\n";
6+
7+
require_once 'required.inc'; // The script of the same directory.
8+
9+
class ConstantDef
10+
{
11+
const VALUE = true;
12+
}

Zend/tests/gh10232/required.inc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?php
2+
3+
trigger_error(basename(__FILE__));
4+
$ex = new Exception();
5+
echo 'Exception in ', basename($ex->getFile()), ' on line ', $ex->getLine(), "\n";

Zend/tests/gh10346.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Florian Sowade
66
zend_test
77
--INI--
88
zend_test.observer.enabled=1
9+
zend_test.observer.show_output=1
910
zend_test.observer.observe_all=1
1011
--FILE--
1112
<?php

Zend/tests/gh13931.phpt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--TEST--
2+
GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c)
3+
--FILE--
4+
<?php
5+
6+
register_shutdown_function(function() {
7+
var_dump(eval("return 1+3;"));
8+
});
9+
10+
eval(<<<EVAL
11+
function foo () {
12+
try {
13+
break;
14+
} finally {
15+
}
16+
}
17+
foo();
18+
EVAL);
19+
20+
?>
21+
--EXPECTF--
22+
Fatal error: 'break' not in the 'loop' or 'switch' context in %s on line %d
23+
int(4)

0 commit comments

Comments
 (0)