Jacek Caban : mshtml: Properly handle OOM errors in htmlnode.c (coverity).

Alexandre Julliard julliard at winehq.org
Fri Oct 19 13:33:54 CDT 2012


Module: wine
Branch: master
Commit: 23c87ba829b44c68574b6aeee5abcadac3410de3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=23c87ba829b44c68574b6aeee5abcadac3410de3

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Oct 19 11:58:34 2012 +0200

mshtml: Properly handle OOM errors in htmlnode.c (coverity).

---

 dlls/mshtml/htmlnode.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c
index 91ffe6d..b1f1b80 100644
--- a/dlls/mshtml/htmlnode.c
+++ b/dlls/mshtml/htmlnode.c
@@ -282,6 +282,9 @@ static IHTMLDOMChildrenCollection *create_child_collection(HTMLDocumentNode *doc
     HTMLDOMChildrenCollection *ret;
 
     ret = heap_alloc_zero(sizeof(*ret));
+    if(!ret)
+        return NULL;
+
     ret->IHTMLDOMChildrenCollection_iface.lpVtbl = &HTMLDOMChildrenCollectionVtbl;
     ret->ref = 1;
 
@@ -468,7 +471,7 @@ static HRESULT WINAPI HTMLDOMNode_get_childNodes(IHTMLDOMNode *iface, IDispatch
     *p = (IDispatch*)create_child_collection(This->doc, nslist);
     nsIDOMNodeList_Release(nslist);
 
-    return S_OK;
+    return *p ? S_OK : E_OUTOFMEMORY;
 }
 
 static HRESULT WINAPI HTMLDOMNode_get_attributes(IHTMLDOMNode *iface, IDispatch **p)
@@ -1072,8 +1075,7 @@ void HTMLDOMNode_Init(HTMLDocumentNode *doc, HTMLDOMNode *node, nsIDOMNode *nsno
         htmldoc_addref(&doc->basedoc);
     node->doc = doc;
 
-    if(nsnode)
-        nsIDOMNode_AddRef(nsnode);
+    nsIDOMNode_AddRef(nsnode);
     node->nsnode = nsnode;
 
     nsres = nsIDOMNode_SetMshtmlNode(nsnode, (nsISupports*)&node->IHTMLDOMNode_iface);




More information about the wine-cvs mailing list