GetModuleFileName() doesn't reset last error on success

This commit is contained in:
Ivan Pozdeev 2017-12-08 00:12:08 +03:00
parent 4af3ca4e4d
commit 4bee238cf8

View File

@ -124,8 +124,10 @@ private:
if (m) if (m)
{ {
wchar_t path[MAX_PATH]; wchar_t path[MAX_PATH];
size_t sz = GetModuleFileNameW(m, path, sizeof(path)); const size_t path_size = sizeof(path)/sizeof(*path);
if (sz > 0 && ERROR_SUCCESS == GetLastError()) size_t sz = GetModuleFileNameW(m, path, path_size);
/* Don't handle paths longer than MAX_PATH until that becomes a real issue */
if (sz > 0 && sz < path_size)
{ {
wchar_t* s = wcsrchr(path, L'\\'); wchar_t* s = wcsrchr(path, L'\\');
if (s) if (s)