fix potential crash if ctxt->sax->ignorableWhitespace is NULL as reported
* parser.c: fix potential crash if ctxt->sax->ignorableWhitespace
is NULL as reported by bug #172255
Daniel
diff --git a/ChangeLog b/ChangeLog
index d8aa20f..1ced5dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Mar 31 16:11:10 CEST 2005 Daniel Veillard <daniel@veillard.com>
+
+ * parser.c: fix potential crash if ctxt->sax->ignorableWhitespace
+ is NULL as reported by bug #172255
+
Thu Mar 31 15:36:52 CEST 2005 Daniel Veillard <daniel@veillard.com>
* relaxng.c: fixed a problem in Relax-NG validation #159968
diff --git a/parser.c b/parser.c
index d089882..990d2c6 100644
--- a/parser.c
+++ b/parser.c
@@ -3220,8 +3220,9 @@
(ctxt->sax->ignorableWhitespace !=
ctxt->sax->characters)) {
if (areBlanks(ctxt, tmp, nbchar, 1)) {
- ctxt->sax->ignorableWhitespace(ctxt->userData,
- tmp, nbchar);
+ if (ctxt->sax->ignorableWhitespace != NULL)
+ ctxt->sax->ignorableWhitespace(ctxt->userData,
+ tmp, nbchar);
} else if (ctxt->sax->characters != NULL)
ctxt->sax->characters(ctxt->userData,
tmp, nbchar);
@@ -3274,8 +3275,9 @@
ctxt->input->cur = in;
if (areBlanks(ctxt, tmp, nbchar, 0)) {
- ctxt->sax->ignorableWhitespace(ctxt->userData,
- tmp, nbchar);
+ if (ctxt->sax->ignorableWhitespace != NULL)
+ ctxt->sax->ignorableWhitespace(ctxt->userData,
+ tmp, nbchar);
} else if (ctxt->sax->characters != NULL)
ctxt->sax->characters(ctxt->userData,
tmp, nbchar);