Skip to content

Commit 3d5f239

Browse files
committed
Merge branch 'PHP-8.2'
2 parents 548fc6a + 7ecb284 commit 3d5f239

7 files changed

+19
-6
lines changed

NEWS

+8
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,21 @@ PHP NEWS
1515
- FFI:
1616
. Fix leaking definitions when using FFI::cdef()->new(...). (ilutov)
1717

18+
- Libxml:
19+
. Fixed bug GHSA-3qrf-m4j2-pcrr (Security issue with external entity loading
20+
in XML without enabling it). (CVE-2023-3823) (nielsdos, ilutov)
21+
1822
- MBString:
1923
. Fix use-after-free of mb_list_encodings() return value. (ilutov)
2024

2125
- Opcache:
2226
. Avoid adding an unnecessary read-lock when loading script from shm if
2327
restart is in progress. (mikhainin)
2428

29+
- Phar:
30+
. Fixed bug GHSA-jqcx-ccgc-xwhv (Buffer mismanagement in phar_dir_read()).
31+
(CVE-2023-3824) (nielsdos)
32+
2533
- Streams:
2634
. Fixed bug GH-11735 (Use-after-free when unregistering user stream wrapper
2735
from itself). (ilutov)

ext/dom/tests/libxml_global_state_entity_loader_bypass.phpt

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
55
if (!extension_loaded('libxml')) die('skip libxml extension not available');
66
if (!extension_loaded('dom')) die('skip dom extension not available');
77
if (!extension_loaded('zend-test')) die('skip zend-test extension not available');
8+
if (!function_exists('zend_test_override_libxml_global_state')) die('skip not for Windows');
89
?>
910
--FILE--
1011
<?php

ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
55
if (!extension_loaded('libxml')) die('skip libxml extension not available');
66
if (!extension_loaded('simplexml')) die('skip simplexml extension not available');
77
if (!extension_loaded('zend-test')) die('skip zend-test extension not available');
8+
if (!function_exists('zend_test_override_libxml_global_state')) die('skip not for Windows');
89
?>
910
--FILE--
1011
<?php

ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
55
if (!extension_loaded('libxml')) die('skip libxml extension not available');
66
if (!extension_loaded('xmlreader')) die('skip xmlreader extension not available');
77
if (!extension_loaded('zend-test')) die('skip zend-test extension not available');
8+
if (!function_exists('zend_test_override_libxml_global_state')) die('skip not for Windows');
89
?>
910
--FILE--
1011
<?php

ext/zend_test/test.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#include "zend_call_stack.h"
3434
#include "zend_exceptions.h"
3535

36-
#ifdef HAVE_LIBXML
36+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
3737
# include <libxml/globals.h>
3838
# include <libxml/parser.h>
3939
#endif
@@ -358,6 +358,7 @@ static ZEND_FUNCTION(zend_get_current_func_name)
358358
RETURN_STR(function_name);
359359
}
360360

361+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
361362
static ZEND_FUNCTION(zend_test_override_libxml_global_state)
362363
{
363364
ZEND_PARSE_PARAMETERS_NONE();
@@ -369,6 +370,7 @@ static ZEND_FUNCTION(zend_test_override_libxml_global_state)
369370
(void) xmlLineNumbersDefault(1);
370371
(void) xmlKeepBlanksDefault(0);
371372
}
373+
#endif
372374

373375
/* TESTS Z_PARAM_ITERABLE and Z_PARAM_ITERABLE_OR_NULL */
374376
static ZEND_FUNCTION(zend_iterable)

ext/zend_test/test.stub.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ function zend_test_create_throwing_resource() {}
227227

228228
function get_open_basedir(): ?string {}
229229

230-
#ifdef HAVE_LIBXML
231-
function zend_test_override_libxml_global_state(): void {}
230+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
231+
function zend_test_override_libxml_global_state(): void {}
232232
#endif
233233
}
234234

ext/zend_test/test_arginfo.h

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)