Module: wine Branch: master Commit: e934d847b2323f50dac7d27157de3c4a239a8ed2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e934d847b2323f50dac7d27157...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Aug 4 14:05:37 2011 +0200
mshtml: Added error handling to get_doc_string.
---
dlls/mshtml/persist.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index 7f974f0..b73476b 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -334,6 +334,7 @@ static HRESULT get_doc_string(HTMLDocumentNode *This, char **str) LPCWSTR strw; nsAString nsstr; nsresult nsres; + HRESULT hres;
if(!This->nsdoc) { WARN("NULL nsdoc\n"); @@ -347,8 +348,12 @@ static HRESULT get_doc_string(HTMLDocumentNode *This, char **str) }
nsAString_Init(&nsstr, NULL); - nsnode_to_nsstring(nsnode, &nsstr); + hres = nsnode_to_nsstring(nsnode, &nsstr); nsIDOMNode_Release(nsnode); + if(FAILED(hres)) { + nsAString_Finish(&nsstr); + return hres; + }
nsAString_GetData(&nsstr, &strw); TRACE("%s\n", debugstr_w(strw)); @@ -357,6 +362,8 @@ static HRESULT get_doc_string(HTMLDocumentNode *This, char **str)
nsAString_Finish(&nsstr);
+ if(!*str) + return E_OUTOFMEMORY; return S_OK; }