Gabriel Ivăncescu : mshtml: Fix leak on failure in return_nsstr.

Alexandre Julliard julliard at winehq.org
Mon Jan 24 16:28:06 CST 2022


Module: wine
Branch: master
Commit: 89317f533b7c6d244301d0a83c20879a209b1409
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=89317f533b7c6d244301d0a83c20879a209b1409

Author: Gabriel Ivăncescu <gabrielopcode at gmail.com>
Date:   Fri Jan  7 17:43:44 2022 +0200

mshtml: Fix leak on failure in return_nsstr.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/nsembed.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c
index 25ad92d5ddf..32ae792625c 100644
--- a/dlls/mshtml/nsembed.c
+++ b/dlls/mshtml/nsembed.c
@@ -917,6 +917,7 @@ HRESULT map_nsresult(nsresult nsres)
 HRESULT return_nsstr(nsresult nsres, nsAString *nsstr, BSTR *p)
 {
     const PRUnichar *str;
+    HRESULT hres = S_OK;
 
     if(NS_FAILED(nsres)) {
         WARN("failed: %08x\n", nsres);
@@ -929,13 +930,13 @@ HRESULT return_nsstr(nsresult nsres, nsAString *nsstr, BSTR *p)
     if(*str) {
         *p = SysAllocString(str);
         if(!*p)
-            return E_OUTOFMEMORY;
+            hres = E_OUTOFMEMORY;
     }else {
         *p = NULL;
     }
 
     nsAString_Finish(nsstr);
-    return S_OK;
+    return hres;
 }
 
 HRESULT return_nsstr_variant(nsresult nsres, nsAString *nsstr, unsigned flags, VARIANT *p)




More information about the wine-cvs mailing list