summaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2007-09-17 00:12:56 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2007-09-17 00:12:56 +0000
commit61b0a061f0a09831cc6e279b07439a8e9c996e04 (patch)
tree2ae9999cf4a8d83609cff5e2ebe3df758f9f5ec1 /bindings
parentb55314705f43b1a3f6beaf2d5f3ff9a5354b677e (diff)
downloadlibdom-61b0a061f0a09831cc6e279b07439a8e9c996e04.tar.gz
libdom-61b0a061f0a09831cc6e279b07439a8e9c996e04.tar.bz2
Fix potential segfaults
svn path=/trunk/dom/; revision=3544
Diffstat (limited to 'bindings')
-rw-r--r--bindings/xml/xmlparser.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/bindings/xml/xmlparser.c b/bindings/xml/xmlparser.c
index 555cf3a..05d3045 100644
--- a/bindings/xml/xmlparser.c
+++ b/bindings/xml/xmlparser.c
@@ -1092,7 +1092,8 @@ void xml_parser_add_document_type(xml_parser *parser,
/* Create public ID for doctype */
err = dom_string_create_from_const_ptr(parser->doc,
dtd->ExternalID,
- strlen((const char *) dtd->ExternalID),
+ (dtd->ExternalID == NULL) ? 0
+ : strlen((const char *) dtd->ExternalID),
&public_id);
if (err != DOM_NO_ERR) {
dom_string_unref(qname);
@@ -1102,7 +1103,8 @@ void xml_parser_add_document_type(xml_parser *parser,
/* Create system ID for doctype */
err = dom_string_create_from_const_ptr(parser->doc,
dtd->SystemID,
- strlen((const char *) dtd->SystemID),
+ (dtd->SystemID == NULL) ? 0
+ : strlen((const char *) dtd->SystemID),
&system_id);
if (err != DOM_NO_ERR) {
dom_string_unref(public_id);