Commit 5013c4d9 authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

mshtml: Check for NULL return from allocations.

parent 8a06bd9e
...@@ -177,12 +177,14 @@ static BOOL is_space_elem(nsIDOMNode *node) ...@@ -177,12 +177,14 @@ static BOOL is_space_elem(nsIDOMNode *node)
return ret; return ret;
} }
static inline void wstrbuf_init(wstrbuf_t *buf) static inline BOOL wstrbuf_init(wstrbuf_t *buf)
{ {
buf->len = 0; buf->len = 0;
buf->size = 16; buf->size = 16;
buf->buf = heap_alloc(buf->size * sizeof(WCHAR)); buf->buf = heap_alloc(buf->size * sizeof(WCHAR));
if (!buf->buf) return FALSE;
*buf->buf = 0; *buf->buf = 0;
return TRUE;
} }
static inline void wstrbuf_finish(wstrbuf_t *buf) static inline void wstrbuf_finish(wstrbuf_t *buf)
...@@ -549,13 +551,14 @@ HRESULT get_node_text(HTMLDOMNode *node, BSTR *ret) ...@@ -549,13 +551,14 @@ HRESULT get_node_text(HTMLDOMNode *node, BSTR *ret)
wstrbuf_t buf; wstrbuf_t buf;
HRESULT hres = S_OK; HRESULT hres = S_OK;
wstrbuf_init(&buf); if (!wstrbuf_init(&buf))
return E_OUTOFMEMORY;
wstrbuf_append_node_rec(&buf, node->nsnode); wstrbuf_append_node_rec(&buf, node->nsnode);
if(buf.buf) { if(buf.buf) {
*ret = SysAllocString(buf.buf); *ret = SysAllocString(buf.buf);
if(!*ret) if(!*ret)
hres = E_OUTOFMEMORY; hres = E_OUTOFMEMORY;
}else { } else {
*ret = NULL; *ret = NULL;
} }
wstrbuf_finish(&buf); wstrbuf_finish(&buf);
...@@ -1171,9 +1174,10 @@ static HRESULT WINAPI HTMLTxtRange_get_text(IHTMLTxtRange *iface, BSTR *p) ...@@ -1171,9 +1174,10 @@ static HRESULT WINAPI HTMLTxtRange_get_text(IHTMLTxtRange *iface, BSTR *p)
if(!This->nsrange) if(!This->nsrange)
return S_OK; return S_OK;
wstrbuf_init(&buf); if (!wstrbuf_init(&buf))
return E_OUTOFMEMORY;
range_to_string(This, &buf); range_to_string(This, &buf);
if(buf.buf) if (buf.buf)
*p = SysAllocString(buf.buf); *p = SysAllocString(buf.buf);
wstrbuf_finish(&buf); wstrbuf_finish(&buf);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment