Avoid potential call to GetProcAddress with 0 for HMODULE

Found by VS code analyser

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6394 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
cutealien 2022-05-13 15:03:27 +00:00
parent c0f5b839a0
commit 3eee408cac

View File

@ -1529,7 +1529,6 @@ typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD);
void CIrrDeviceWin32::getWindowsVersion(core::stringc& out) void CIrrDeviceWin32::getWindowsVersion(core::stringc& out)
{ {
OSVERSIONINFOEX osvi; OSVERSIONINFOEX osvi;
PGPI pGPI;
BOOL bOsVersionInfoEx; BOOL bOsVersionInfoEx;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
@ -1581,9 +1580,14 @@ void CIrrDeviceWin32::getWindowsVersion(core::stringc& out)
{ {
if (osvi.dwMajorVersion == 6) if (osvi.dwMajorVersion == 6)
{ {
DWORD dwType; DWORD dwType = PRODUCT_UNDEFINED;
pGPI = (PGPI)GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "GetProductInfo"); HMODULE hmKernel32 = GetModuleHandle(TEXT("kernel32.dll"));
pGPI(osvi.dwMajorVersion, osvi.dwMinorVersion, 0, 0, &dwType); if ( hmKernel32 )
{
PGPI pGPI = (PGPI)GetProcAddress(hmKernel32, "GetProductInfo");
if ( pGPI )
pGPI(osvi.dwMajorVersion, osvi.dwMinorVersion, 0, 0, &dwType);
}
switch (dwType) switch (dwType)
{ {