Module: wine Branch: master Commit: 23c87ba829b44c68574b6aeee5abcadac3410de3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=23c87ba829b44c68574b6aeee5...
Author: Jacek Caban jacek@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);