Skip to content

Commit 7ecb284

Browse files
committed
Merge branch 'PHP-8.1' into PHP-8.2
2 parents 855dd27 + ebbccb3 commit 7ecb284

7 files changed

+16
-5
lines changed

NEWS

+6
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ PHP NEWS
7676
- Intl:
7777
. Fix memory leak in MessageFormatter::format() on failure. (Girgias)
7878

79+
- Libxml:
80+
. Fixed bug GHSA-3qrf-m4j2-pcrr (Security issue with external entity loading
81+
in XML without enabling it). (CVE-2023-3823) (nielsdos, ilutov)
82+
7983
- MBString:
8084
. Fix GH-11300 (license issue: restricted unicode license headers).
8185
(nielsdos)
@@ -101,6 +105,8 @@ PHP NEWS
101105

102106
- Phar:
103107
. Add missing check on EVP_VerifyUpdate() in phar util. (nielsdos)
108+
. Fixed bug GHSA-jqcx-ccgc-xwhv (Buffer mismanagement in phar_dir_read()).
109+
(CVE-2023-3824) (nielsdos)
104110

105111
- PHPDBG:
106112
. Fixed bug GH-9669 (phpdbg -h options doesn't list the -z option). (adsr)

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
@@ -32,7 +32,7 @@
3232
#include "test.h"
3333
#include "test_arginfo.h"
3434

35-
#ifdef HAVE_LIBXML
35+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
3636
# include <libxml/globals.h>
3737
# include <libxml/parser.h>
3838
#endif
@@ -311,6 +311,7 @@ static ZEND_FUNCTION(zend_get_current_func_name)
311311
RETURN_STR(function_name);
312312
}
313313

314+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
314315
static ZEND_FUNCTION(zend_test_override_libxml_global_state)
315316
{
316317
ZEND_PARSE_PARAMETERS_NONE();
@@ -322,6 +323,7 @@ static ZEND_FUNCTION(zend_test_override_libxml_global_state)
322323
(void) xmlLineNumbersDefault(1);
323324
(void) xmlKeepBlanksDefault(0);
324325
}
326+
#endif
325327

326328
/* TESTS Z_PARAM_ITERABLE and Z_PARAM_ITERABLE_OR_NULL */
327329
static ZEND_FUNCTION(zend_iterable)

ext/zend_test/test.stub.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ function zend_get_map_ptr_last(): int {}
171171

172172
function zend_test_crash(?string $message = null): void {}
173173

174-
#ifdef HAVE_LIBXML
174+
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
175175
function zend_test_override_libxml_global_state(): void {}
176176
#endif
177177
}

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)