From a5ce7500a16d05ad5f9698173d5912049544ceea Mon Sep 17 00:00:00 2001 From: David Quintana Date: Tue, 19 Aug 2014 22:30:12 +0000 Subject: [PATCH] [SHELL32] * Giannis found another similar case of double-releasing. svn path=/branches/shell-experiments/; revision=63907 --- dll/win32/shell32/folders/fs.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/dll/win32/shell32/folders/fs.cpp b/dll/win32/shell32/folders/fs.cpp index d5d409e85f3..1bd214a1223 100644 --- a/dll/win32/shell32/folders/fs.cpp +++ b/dll/win32/shell32/folders/fs.cpp @@ -1058,7 +1058,7 @@ HRESULT WINAPI CFSFolder::DeleteItems(UINT cidl, LPCITEMIDLIST *apidl) HRESULT WINAPI CFSFolder::CopyItems(IShellFolder * pSFFrom, UINT cidl, LPCITEMIDLIST * apidl, bool bCopy) { - IPersistFolder2 *ppf2 = NULL; + CComPtr ppf2 = NULL; WCHAR szSrcPath[MAX_PATH]; WCHAR szTargetPath[MAX_PATH]; SHFILEOPSTRUCTW op; @@ -1076,10 +1076,8 @@ HRESULT WINAPI CFSFolder::CopyItems(IShellFolder * pSFFrom, UINT cidl, hr = ppf2->GetCurFolder(&pidl); if (FAILED(hr)) { - ppf2->Release(); return hr; } - ppf2->Release(); hr = pSFFrom->GetDisplayNameOf(pidl, SHGDN_FORPARSING, &strRet); if (FAILED(hr)) @@ -1113,7 +1111,6 @@ HRESULT WINAPI CFSFolder::CopyItems(IShellFolder * pSFFrom, UINT cidl, HeapFree(GetProcessHeap(), 0, pszTargetList); SHFree(pidl); - ppf2->Release(); return E_OUTOFMEMORY; }