comdlg32: Avoid crash when a path is passed into Open File Dialog.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Bruno Jesus 2016-10-27 06:53:27 +00:00 committed by Alexandre Julliard
parent 0414332b08
commit 5809118892
1 changed files with 9 additions and 3 deletions

View File

@ -1565,10 +1565,16 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
result = GetFullPathNameW(fodInfos->filename, MAX_PATH, tmpBuf, &nameBit);
if (result) {
/* nameBit is always shorter than the original filename */
lstrcpyW(fodInfos->filename,nameBit);
/* nameBit is always shorter than the original filename. It may be NULL
* when the filename contains only a drive name instead of file name */
if (nameBit)
{
lstrcpyW(fodInfos->filename,nameBit);
*nameBit = 0x00;
}
else
*fodInfos->filename = '\0';
*nameBit = 0x00;
MemFree(fodInfos->initdir);
fodInfos->initdir = MemAlloc((lstrlenW(tmpBuf) + 1)*sizeof(WCHAR));
lstrcpyW(fodInfos->initdir, tmpBuf);