blob: a18dfafc4d7a8453b34883b12f21f3bd7a51c900 (
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
|
From: Daniel Veillard <veillard@redhat.com>
Date: Sat, 3 Aug 2013 22:25:13 +0800
Subject: Clear up a potential NULL dereference
https://bugzilla.gnome.org/show_bug.cgi?id=705399
if ctxt->node_seq.buffer is null then ctxt->node_seq.maximum ought
to be zero but it's better to clarify the check in the code directly.
---
parserInternals.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/parserInternals.c b/parserInternals.c
index f8a7041..98a5836 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -1990,7 +1990,8 @@ xmlParserAddNodeInfo(xmlParserCtxtPtr ctxt,
/* Otherwise, we need to add new node to buffer */
else {
- if (ctxt->node_seq.length + 1 > ctxt->node_seq.maximum) {
+ if ((ctxt->node_seq.length + 1 > ctxt->node_seq.maximum) ||
+ (ctxt->node_seq.buffer == NULL)) {
xmlParserNodeInfo *tmp_buffer;
unsigned int byte_size;
|