Index: dll/win32/kernel32/file/dir.c =================================================================== --- dll/win32/kernel32/file/dir.c (revision 50524) +++ dll/win32/kernel32/file/dir.c (working copy) @@ -599,12 +599,6 @@ TRACE("GetFullPathNameA(lpFileName %s, nBufferLength %d, lpBuffer %p, " "lpFilePart %p)\n",lpFileName,nBufferLength,lpBuffer,lpFilePart); - if (!lpFileName) - { - SetLastError(ERROR_INVALID_PARAMETER); - return 0; - } - if (!(FileNameW = FilenameA2W(lpFileName, FALSE))) return 0; @@ -654,11 +648,19 @@ TRACE("GetFullPathNameW(lpFileName %S, nBufferLength %d, lpBuffer %p, " "lpFilePart %p)\n",lpFileName,nBufferLength,lpBuffer,lpFilePart); + if (!lpFileName) + { +#if (WINVER >= _WIN32_WINNT_WIN7) + SetLastError(ERROR_INVALID_NAME); +#endif + return 0; + } + Length = RtlGetFullPathName_U ((LPWSTR)lpFileName, nBufferLength * sizeof(WCHAR), lpBuffer, lpFilePart);