Module: wine Branch: oldstable Commit: 01f7e4bafc8091f783e23421235e432064d78352 URL: https://source.winehq.org/git/wine.git/?a=commit;h=01f7e4bafc8091f783e234212...
Author: Sven Baars sbaars@codeweavers.com Date: Sun Oct 4 18:10:23 2020 +0200
shell32: Fix a leak on error path (Coverity).
Signed-off-by: Sven Baars sbaars@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 2dac80524440bbae0ee0ef67c470bc0073b8bfaf) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/shell32/shfldr_unixfs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c index a37b1bf5881..48d5fe4ecb6 100644 --- a/dlls/shell32/shfldr_unixfs.c +++ b/dlls/shell32/shfldr_unixfs.c @@ -1251,7 +1251,10 @@ static HRESULT WINAPI ShellFolder2_GetDisplayNameOf(IShellFolder2* iface, LPWSTR pwszDosFileName = wine_get_dos_file_name(This->m_pszPath); if (!pwszDosFileName) return HRESULT_FROM_WIN32(GetLastError()); lpName->u.pOleStr = SHAlloc((lstrlenW(pwszDosFileName) + 1) * sizeof(WCHAR)); - if (!lpName->u.pOleStr) return HRESULT_FROM_WIN32(GetLastError()); + if (!lpName->u.pOleStr) { + heap_free(pwszDosFileName); + return HRESULT_FROM_WIN32(GetLastError()); + } lstrcpyW(lpName->u.pOleStr, pwszDosFileName); PathRemoveBackslashW(lpName->u.pOleStr); heap_free(pwszDosFileName);