diff options
author | Daniel Veillard <veillard@src.gnome.org> | 2005-03-31 14:12:37 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@src.gnome.org> | 2005-03-31 14:12:37 +0000 |
commit | 32acf0c3b44ed5ba2726d5dcb9f0307bb212ec38 (patch) | |
tree | 629c0410801c110c2f22f16f73997ae6ac92a5ee /parser.c | |
parent | 63d68a37bec76d69425d1b0237ee1b00f3378f94 (diff) | |
download | libxml2-32acf0c3b44ed5ba2726d5dcb9f0307bb212ec38.tar.gz |
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
Diffstat (limited to 'parser.c')
-rw-r--r-- | parser.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -3220,8 +3220,9 @@ get_more_space: (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 @@ get_more: 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); |