[libxml2] Add couple of missing Null checks



commit 42870f46ccf36f83a55fde03344657d360ba0793
Author: Daniel Veillard <veillard redhat com>
Date:   Sat Jul 26 21:04:54 2014 +0800

    Add couple of missing Null checks
    
    For https://bugzilla.gnome.org/show_bug.cgi?id=733710
    Reported by Gaurav but with slightly different fixes

 relaxng.c |    7 ++++++-
 tree.c    |    4 ++++
 2 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/relaxng.c b/relaxng.c
index 57ae972..8d88e95 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -6652,12 +6652,17 @@ xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node)
     ctxt->define = NULL;
     if (IS_RELAXNG(node, "grammar")) {
         schema->topgrammar = xmlRelaxNGParseGrammar(ctxt, node->children);
+        if (schema->topgrammar == NULL) {
+            xmlRelaxNGFree(schema);
+            return (NULL);
+        }
     } else {
         xmlRelaxNGGrammarPtr tmp, ret;
 
         schema->topgrammar = ret = xmlRelaxNGNewGrammar(ctxt);
         if (schema->topgrammar == NULL) {
-            return (schema);
+            xmlRelaxNGFree(schema);
+            return (NULL);
         }
         /*
          * Link the new grammar in the tree
diff --git a/tree.c b/tree.c
index 7853e35..7d41481 100644
--- a/tree.c
+++ b/tree.c
@@ -4514,6 +4514,10 @@ xmlCopyDoc(xmlDocPtr doc, int recursive) {
 #ifdef LIBXML_TREE_ENABLED
     if (doc->intSubset != NULL) {
         ret->intSubset = xmlCopyDtd(doc->intSubset);
+       if (ret->intSubset == NULL) {
+           xmlFreeDoc(ret);
+           return(NULL);
+       }
        xmlSetTreeDoc((xmlNodePtr)ret->intSubset, ret);
        ret->intSubset->parent = ret;
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]