From 12f7021e121d936101ae03aab358f626b8d1cdbc Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sat, 7 Oct 2006 19:40:58 +0000 Subject: [PATCH] Added missing safety checks (Problem identified by Coverity scan) --- ext/dom/document.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ext/dom/document.c b/ext/dom/document.c index 8bbd469657..a8202dd637 100644 --- a/ext/dom/document.c +++ b/ext/dom/document.c @@ -1355,7 +1355,9 @@ PHP_METHOD(domdocument, __construct) } } intern->document = NULL; - php_libxml_increment_doc_ref((php_libxml_node_object *)intern, docp TSRMLS_CC); + if (php_libxml_increment_doc_ref((php_libxml_node_object *)intern, docp TSRMLS_CC) == -1) { + RETURN_FALSE; + } php_libxml_increment_node_ptr((php_libxml_node_object *)intern, (xmlNodePtr)docp, (void *)intern TSRMLS_CC); } } @@ -1568,7 +1570,9 @@ static void dom_parse_document(INTERNAL_FUNCTION_PARAMETERS, int mode) { } } intern->document = NULL; - php_libxml_increment_doc_ref((php_libxml_node_object *)intern, newdoc TSRMLS_CC); + if (php_libxml_increment_doc_ref((php_libxml_node_object *)intern, newdoc TSRMLS_CC) == -1) { + RETURN_FALSE; + } intern->document->doc_props = doc_prop; } @@ -2069,7 +2073,9 @@ static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS, int mode) } } intern->document = NULL; - php_libxml_increment_doc_ref((php_libxml_node_object *)intern, newdoc TSRMLS_CC); + if (php_libxml_increment_doc_ref((php_libxml_node_object *)intern, newdoc TSRMLS_CC) == -1) { + RETURN_FALSE; + } intern->document->doc_props = doc_prop; } -- 2.40.0