diff options
| -rw-r--r-- | ext/dom/domimplementation.c | 5 | ||||
| -rw-r--r-- | ext/dom/text.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ext/dom/domimplementation.c b/ext/dom/domimplementation.c index f65da0572b..9c1613bf84 100644 --- a/ext/dom/domimplementation.c +++ b/ext/dom/domimplementation.c @@ -115,6 +115,11 @@ PHP_METHOD(domimplementation, createDocumentType) doctype = xmlCreateIntSubset(NULL, localname, pch1, pch2); xmlFree(localname); + if (doctype == NULL) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create DocumentType"); + RETURN_FALSE; + } + DOM_RET_OBJ(rv, (xmlNodePtr) doctype, &ret, NULL); } /* }}} end dom_domimplementation_create_document_type */ diff --git a/ext/dom/text.c b/ext/dom/text.c index 9124de9ea5..f62390ba16 100644 --- a/ext/dom/text.c +++ b/ext/dom/text.c @@ -156,6 +156,10 @@ PHP_FUNCTION(dom_text_split_text) xmlFree(first); xmlFree(second); + if (nnode == NULL) { + RETURN_FALSE; + } + if (node->parent != NULL) { nnode->type = XML_ELEMENT_NODE; xmlAddNextSibling(node, nnode); |
