blob: 64e7c58f179ff2ee53d4da52278a7dbbaa1cbbab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
|