Jeffrey Altman reminds us to initialize some variables and ercommends the use of LOadLibrary instead of GetModuleHandle
This commit is contained in:
parent
3c184d8180
commit
362f2b69ff
@ -184,17 +184,17 @@ int RAND_poll(void)
|
|||||||
HWND h;
|
HWND h;
|
||||||
|
|
||||||
HMODULE advapi, kernel, user, netapi;
|
HMODULE advapi, kernel, user, netapi;
|
||||||
CRYPTACQUIRECONTEXT acquire;
|
CRYPTACQUIRECONTEXT acquire = 0;
|
||||||
CRYPTGENRANDOM gen;
|
CRYPTGENRANDOM gen = 0;
|
||||||
CRYPTRELEASECONTEXT release;
|
CRYPTRELEASECONTEXT release = 0;
|
||||||
NETSTATGET netstatget;
|
NETSTATGET netstatget = 0;
|
||||||
NETFREE netfree;
|
NETFREE netfree = 0;
|
||||||
|
|
||||||
/* load functions dynamically - not available on all systems */
|
/* load functions dynamically - not available on all systems */
|
||||||
advapi = GetModuleHandle("ADVAPI32.DLL");
|
advapi = LoadLibrary("ADVAPI32.DLL");
|
||||||
kernel = GetModuleHandle("KERNEL32.DLL");
|
kernel = LoadLibrary("KERNEL32.DLL");
|
||||||
user = GetModuleHandle("USER32.DLL");
|
user = LoadLibrary("USER32.DLL");
|
||||||
netapi = GetModuleHandle("NETAPI32.DLL");
|
netapi = LoadLibrary("NETAPI32.DLL");
|
||||||
|
|
||||||
if (netapi)
|
if (netapi)
|
||||||
{
|
{
|
||||||
@ -218,6 +218,9 @@ int RAND_poll(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (netapi)
|
||||||
|
FreeLibrary(netapi);
|
||||||
|
|
||||||
/* Read Performance Statistics from NT/2000 registry */
|
/* Read Performance Statistics from NT/2000 registry */
|
||||||
/* The size of the performance data can vary from call to call */
|
/* The size of the performance data can vary from call to call */
|
||||||
/* so we must guess the size of the buffer to use and increase */
|
/* so we must guess the size of the buffer to use and increase */
|
||||||
@ -289,6 +292,9 @@ int RAND_poll(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (advapi)
|
||||||
|
FreeLibrary(advapi);
|
||||||
|
|
||||||
/* timer data */
|
/* timer data */
|
||||||
readtimer();
|
readtimer();
|
||||||
|
|
||||||
@ -347,6 +353,8 @@ int RAND_poll(void)
|
|||||||
w = queue(QS_ALLEVENTS);
|
w = queue(QS_ALLEVENTS);
|
||||||
RAND_add(&w, sizeof(w), 0);
|
RAND_add(&w, sizeof(w), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FreeLibrary(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Toolhelp32 snapshot: enumerate processes, threads, modules and heap
|
/* Toolhelp32 snapshot: enumerate processes, threads, modules and heap
|
||||||
@ -443,6 +451,8 @@ int RAND_poll(void)
|
|||||||
|
|
||||||
CloseHandle(handle);
|
CloseHandle(handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FreeLibrary(kernel);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
Loading…
x
Reference in New Issue
Block a user