Tweaks and fixes

1. Dynamically load RtlGenRandom() from advapi32.dll
2. Fix no return value warning in steam_overlay.h
3. Fix command-line too long issue in batch files by using
   setlocal/endlocal
This commit is contained in:
Soar Qin 2021-09-17 18:50:42 +08:00 committed by Soar Qin
parent 802d8bcc8f
commit 856c0e7d26
13 changed files with 47 additions and 35 deletions

View file

@ -19,9 +19,15 @@
#ifdef __WINDOWS__
BOOLEAN (APIENTRY *RtlGenRandom)(void *, ULONG) = NULL;
static void
randombytes(char * const buf, const size_t size)
{
if (RtlGenRandom == NULL)
{
RtlGenRandom = (BOOLEAN (APIENTRY *)(void *, ULONG))GetProcAddress(LoadLibraryW(L"advapi32.dll"), "SystemFunction036");
}
while (!RtlGenRandom((PVOID) buf, (ULONG) size)) {
PRINT_DEBUG("RtlGenRandom ERROR\n");
Sleep(100);