Skip to content

Commit 990e05e

Browse files
committed
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3: Fix arginfo/zpp violations when LIBXML_SCHEMAS_ENABLED is not available
2 parents 27807fd + 40f4091 commit 990e05e

File tree

2 files changed

+14
-18
lines changed

2 files changed

+14
-18
lines changed

NEWS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ PHP NEWS
2020
- Random:
2121
. Fix Randomizer::__serialize() w.r.t. INDIRECTs. (nielsdos)
2222

23+
- XMLReader:
24+
. Fix arginfo/zpp violations when LIBXML_SCHEMAS_ENABLED is not available.
25+
(nielsdos)
26+
2327
09 Oct 2025, PHP 8.4.14
2428

2529
- Core:

ext/xmlreader/php_xmlreader.c

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -502,12 +502,7 @@ static void php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAMETERS, xmlreader_
502502

503503
/* {{{ php_xmlreader_set_relaxng_schema */
504504
static void php_xmlreader_set_relaxng_schema(INTERNAL_FUNCTION_PARAMETERS, int type) {
505-
#ifdef LIBXML_SCHEMAS_ENABLED
506-
zval *id;
507505
size_t source_len = 0;
508-
int retval = -1;
509-
xmlreader_object *intern;
510-
xmlRelaxNGPtr schema = NULL;
511506
char *source;
512507

513508
if (zend_parse_parameters(ZEND_NUM_ARGS(), "p!", &source, &source_len) == FAILURE) {
@@ -518,11 +513,13 @@ static void php_xmlreader_set_relaxng_schema(INTERNAL_FUNCTION_PARAMETERS, int t
518513
zend_argument_must_not_be_empty_error(1);
519514
RETURN_THROWS();
520515
}
521-
522-
id = ZEND_THIS;
523-
524-
intern = Z_XMLREADER_P(id);
516+
517+
#ifdef LIBXML_SCHEMAS_ENABLED
518+
xmlreader_object *intern = Z_XMLREADER_P(ZEND_THIS);
525519
if (intern->ptr) {
520+
int retval = -1;
521+
xmlRelaxNGPtr schema = NULL;
522+
526523
if (source) {
527524
schema = _xmlreader_get_relaxNG(source, source_len, type, NULL, NULL);
528525
if (schema) {
@@ -1064,11 +1061,7 @@ PHP_METHOD(XMLReader, readString)
10641061
/* {{{ Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). */
10651062
PHP_METHOD(XMLReader, setSchema)
10661063
{
1067-
#ifdef LIBXML_SCHEMAS_ENABLED
1068-
zval *id;
10691064
size_t source_len = 0;
1070-
int retval = -1;
1071-
xmlreader_object *intern;
10721065
char *source;
10731066

10741067
if (zend_parse_parameters(ZEND_NUM_ARGS(), "p!", &source, &source_len) == FAILURE) {
@@ -1079,13 +1072,12 @@ PHP_METHOD(XMLReader, setSchema)
10791072
zend_argument_must_not_be_empty_error(1);
10801073
RETURN_THROWS();
10811074
}
1082-
1083-
id = ZEND_THIS;
1084-
1085-
intern = Z_XMLREADER_P(id);
1075+
1076+
#ifdef LIBXML_SCHEMAS_ENABLED
1077+
xmlreader_object *intern = Z_XMLREADER_P(ZEND_THIS);
10861078
if (intern && intern->ptr) {
10871079
PHP_LIBXML_SANITIZE_GLOBALS(schema);
1088-
retval = xmlTextReaderSchemaValidate(intern->ptr, source);
1080+
int retval = xmlTextReaderSchemaValidate(intern->ptr, source);
10891081
PHP_LIBXML_RESTORE_GLOBALS(schema);
10901082

10911083
if (retval == 0) {

0 commit comments

Comments
 (0)