mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
Check return value from GetVersionEx (even though the MSDN example doesnt) and zero out the LPOSVERSIONINFOEX struct before getting the version. This may fix the "johnboy" [major=-858993460,minor=-858993460] problem.
svn:r6233
This commit is contained in:
parent
444e3b8eb2
commit
6d9632ba23
@ -742,8 +742,15 @@ get_uname(void)
|
|||||||
{ VER_SUITE_TERMINAL, " {terminal services}" },
|
{ VER_SUITE_TERMINAL, " {terminal services}" },
|
||||||
{ 0, NULL },
|
{ 0, NULL },
|
||||||
};
|
};
|
||||||
|
memset(&info, 0, sizeof(info));
|
||||||
info.dwOSVersionInfoSize = sizeof(info);
|
info.dwOSVersionInfoSize = sizeof(info);
|
||||||
GetVersionEx((LPOSVERSIONINFO)&info);
|
if (! GetVersionEx((LPOSVERSIONINFO)&info)) {
|
||||||
|
int err = GetLastError();
|
||||||
|
strlcpy(uname_result, "Bizarre version of Windows where GetVersionEx"
|
||||||
|
" doesn't work.", sizeof(uname_result));
|
||||||
|
uname_result_is_set = 1;
|
||||||
|
return uname_result;
|
||||||
|
}
|
||||||
if (info.dwMajorVersion == 4 && info.dwMinorVersion == 0) {
|
if (info.dwMajorVersion == 4 && info.dwMinorVersion == 0) {
|
||||||
if (info.dwPlatformId == VER_PLATFORM_WIN32_NT)
|
if (info.dwPlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
plat = "Windows NT 4.0";
|
plat = "Windows NT 4.0";
|
||||||
|
Loading…
Reference in New Issue
Block a user