From ddeec06d2e8cc546c94aee53585aeec1cea8f741 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 3 Aug 2021 14:05:28 +0200 Subject: add upstream patch for https://bugs.php.net/81325 segfault in simplexml --- php-simplexml.patch | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ php.spec | 7 ++++++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 php-simplexml.patch diff --git a/php-simplexml.patch b/php-simplexml.patch new file mode 100644 index 0000000..d444aa5 --- /dev/null +++ b/php-simplexml.patch @@ -0,0 +1,49 @@ +From 112527d67798b6e18ed1c639e66d8cff674dcfd8 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Tue, 3 Aug 2021 12:06:36 +0200 +Subject: [PATCH] Fix bug #81325 Segfault in zif_simplexml_import_dom + +--- + ext/simplexml/simplexml.c | 2 +- + ext/simplexml/tests/bug81325.phpt | 19 +++++++++++++++++++ + 2 files changed, 20 insertions(+), 1 deletion(-) + create mode 100644 ext/simplexml/tests/bug81325.phpt + +diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c +index 4ed41d758762..21e1190e681b 100644 +--- a/ext/simplexml/simplexml.c ++++ b/ext/simplexml/simplexml.c +@@ -2635,7 +2635,7 @@ PHP_FUNCTION(simplexml_import_dom) + nodep = xmlDocGetRootElement((xmlDocPtr) nodep); + } + +- if (nodep->type == XML_ELEMENT_NODE) { ++ if (nodep && nodep->type == XML_ELEMENT_NODE) { + if (!ce) { + ce = sxe_class_entry; + fptr_count = NULL; +diff --git a/ext/simplexml/tests/bug81325.phpt b/ext/simplexml/tests/bug81325.phpt +new file mode 100644 +index 000000000000..b4010dd1f0c3 +--- /dev/null ++++ b/ext/simplexml/tests/bug81325.phpt +@@ -0,0 +1,19 @@ ++--TEST-- ++BUg #81325 (segfault in zif_simplexml_import_dom) ++--SKIPIF-- ++ ++--FILE-- ++loadXML("foo"); ++$xml = simplexml_import_dom($dom); ++?> ++Done ++--EXPECTF-- ++Warning: DOMDocument::loadXML(): Start tag expected%s ++ ++Warning: simplexml_import_dom(): Invalid Nodetype%s ++Done diff --git a/php.spec b/php.spec index c51afd3..73a1644 100644 --- a/php.spec +++ b/php.spec @@ -104,7 +104,7 @@ Summary: PHP scripting language for creating dynamic web sites Name: %{?scl_prefix}php Version: %{upver}%{?rcver:~%{rcver}}%{?gh_date:.%{gh_date}} -Release: 1%{?dist} +Release: 2%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD @@ -168,6 +168,7 @@ Patch47: php-8.0.0-phpinfo.patch Patch91: php-7.2.0-oci8conf.patch # Upstream fixes (100+) +Patch100: php-simplexml.patch # Security fixes (200+) @@ -936,6 +937,7 @@ sed -e 's/php-devel/%{?scl_prefix}php-devel/' -i scripts/phpize.in %patch91 -p1 -b .remi-oci8 # upstream patches +%patch100 -p1 -b .segfault # security patches @@ -1809,6 +1811,9 @@ fi %changelog +* Tue Aug 3 2021 Remi Collet - 8.0.9-2 +- add upstream patch for https://bugs.php.net/81325 segfault in simplexml + * Thu Jul 29 2021 Remi Collet - 8.0.9-1 - Update to 8.0.9 - http://www.php.net/releases/8_0_9.php -- cgit