Andrew Nguyen : fusion: Avoid memory leaks on memory allocation failure in parse_display_name.
Alexandre Julliard
julliard at winehq.org
Mon Jan 17 10:59:47 CST 2011
Module: wine
Branch: master
Commit: e46c66a1f545e0e90f5a2c5c962f4a6464ebdca8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e46c66a1f545e0e90f5a2c5c962f4a6464ebdca8
Author: Andrew Nguyen <anguyen at codeweavers.com>
Date: Sun Jan 16 03:41:27 2011 -0600
fusion: Avoid memory leaks on memory allocation failure in parse_display_name.
---
dlls/fusion/asmname.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/fusion/asmname.c b/dlls/fusion/asmname.c
index 54223af..669b7b6 100644
--- a/dlls/fusion/asmname.c
+++ b/dlls/fusion/asmname.c
@@ -562,7 +562,10 @@ static HRESULT parse_display_name(IAssemblyNameImpl *name, LPCWSTR szAssemblyNam
str = strdupW(szAssemblyName);
save = str;
if (!str)
- return E_OUTOFMEMORY;
+ {
+ hr = E_OUTOFMEMORY;
+ goto done;
+ }
ptr = strchrW(str, ',');
if (ptr) *ptr = '\0';
@@ -576,7 +579,10 @@ static HRESULT parse_display_name(IAssemblyNameImpl *name, LPCWSTR szAssemblyNam
name->name = strdupW(str);
if (!name->name)
- return E_OUTOFMEMORY;
+ {
+ hr = E_OUTOFMEMORY;
+ goto done;
+ }
if (!ptr)
goto done;
@@ -622,7 +628,8 @@ static HRESULT parse_display_name(IAssemblyNameImpl *name, LPCWSTR szAssemblyNam
else if (!lstrcmpW(str, procarch))
{
name->procarch = strdupW(ptr);
- hr = S_OK;
+ if (!name->procarch)
+ hr = E_OUTOFMEMORY;
}
if (FAILED(hr))
More information about the wine-cvs
mailing list