diff --git "a/dll/win32/shell32/shlexec.cpp" "b/dll/win32/shell32/shlexec.cpp" index b6bb1f3b224..6dcae23092c 100644 --- "a/dll/win32/shell32/shlexec.cpp" +++ "b/dll/win32/shell32/shlexec.cpp" @@ -802,6 +802,15 @@ static UINT SHELL_FindExecutable(LPCWSTR lpPath, LPCWSTR lpFile, LPCWSTR lpVerb, xlpFile[0] = '\0'; } + /* Clear any trailing periods */ + for (INT i = wcslen(xlpFile); i >= 0; i--) + { + if (i > 0 && xlpFile[i - 1] == '.') + xlpFile[i - 1] = 0; + else + break; + } + attribs = GetFileAttributesW(lpFile); if (attribs != INVALID_FILE_ATTRIBUTES && (attribs & FILE_ATTRIBUTE_DIRECTORY)) {