shell32: Don't access uninitialized buffer (Coverity).

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2016-12-14 22:16:11 +03:00 committed by Alexandre Julliard
parent 333c5bd9dd
commit 3c6cbc2f91
1 changed files with 11 additions and 6 deletions

View File

@ -4735,6 +4735,7 @@ HRESULT WINAPI SHGetKnownFolderPath(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE t
hr = E_INVALIDARG;
break;
case CSIDL_Type_NonExistent:
*tempW = 0;
hr = S_FALSE;
break;
case CSIDL_Type_WindowsPath:
@ -4785,15 +4786,19 @@ HRESULT WINAPI SHGetKnownFolderPath(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE t
break;
}
/* Expand environment strings if necessary */
if (*tempW == '%')
hr = _SHExpandEnvironmentStrings(tempW, pathW);
else
strcpyW(pathW, tempW);
if (FAILED(hr))
goto failed;
/* Expand environment strings if necessary */
if (*tempW == '%')
{
hr = _SHExpandEnvironmentStrings(tempW, pathW);
if (FAILED(hr))
goto failed;
}
else
strcpyW(pathW, tempW);
/* if we don't care about existing directories we are ready */
if (flags & KF_FLAG_DONT_VERIFY) goto done;