aboutsummaryrefslogtreecommitdiffstats
path: root/main/libxml2/fix-null-pointer-dereference.patch
diff options
context:
space:
mode:
authorMilan P. Stanić <mps@arvanta.net>2019-02-25 13:53:45 +0100
committerNatanael Copa <ncopa@alpinelinux.org>2019-02-25 13:58:06 +0000
commit70b3b18877a66cddb26ca51dbae977e677696811 (patch)
tree9bb40bd5bf01a86e5477802e433f4fa8b5a933cf /main/libxml2/fix-null-pointer-dereference.patch
parent254b378a1ac420913292e1acb172e7a299623aed (diff)
downloadaports-70b3b18877a66cddb26ca51dbae977e677696811.tar.bz2
aports-70b3b18877a66cddb26ca51dbae977e677696811.tar.xz
main/libxml2: fix null pointer dereference
ref #10034 bump pkgrel
Diffstat (limited to 'main/libxml2/fix-null-pointer-dereference.patch')
-rw-r--r--main/libxml2/fix-null-pointer-dereference.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/main/libxml2/fix-null-pointer-dereference.patch b/main/libxml2/fix-null-pointer-dereference.patch
new file mode 100644
index 0000000000..64e7c58f17
--- /dev/null
+++ b/main/libxml2/fix-null-pointer-dereference.patch
@@ -0,0 +1,36 @@
+From 2c8dc7158a3b7b028454abcb6f162c4da28ed80b Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Mon, 25 Feb 2019 12:00:50 +0100
+Subject: [PATCH] Fix null pointer dereference in xmlTextReaderReadOuterXml
+
+Fix a regression caused by commit 39fbfb4f. If xmlTextReaderReadOuterXml
+is called on a pristine xmlReader, the current node is NULL and must not
+be dereferenced. Move the call to xmlTextReaderExpand to the start of
+the function to make sure that we have a valid node.
+
+Fixes #43.
+---
+ xmlreader.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xmlreader.c b/xmlreader.c
+index cd1fb5fe..b8e98287 100644
+--- a/xmlreader.c
++++ b/xmlreader.c
+@@ -1759,11 +1759,11 @@ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
+ xmlBufferPtr buff;
+ xmlDocPtr doc;
+
+- node = reader->node;
+- doc = node->doc;
+ if (xmlTextReaderExpand(reader) == NULL) {
+ return NULL;
+ }
++ node = reader->node;
++ doc = node->doc;
+ /* XXX: Why is the node copied? */
+ if (node->type == XML_DTD_NODE) {
+ node = (xmlNodePtr) xmlCopyDtd((xmlDtdPtr) node);
+--
+2.18.1
+