Andrew Nguyen : fusion: Avoid memory leaks on memory allocation failure in parse_display_name.
Module: wine Branch: master Commit: e46c66a1f545e0e90f5a2c5c962f4a6464ebdca8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e46c66a1f545e0e90f5a2c5c96... Author: Andrew Nguyen <anguyen(a)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))
participants (1)
-
Alexandre Julliard