mirror of
https://github.com/veracrypt/VeraCrypt
synced 2024-11-30 23:13:31 +01:00
Windows: Add function RandinitWithCheck to detect if random generator was already initialized before our call or not
This commit is contained in:
parent
9f91c47bd2
commit
1298f83aa4
@ -94,14 +94,21 @@ HCRYPTPROV hCryptProv;
|
||||
|
||||
|
||||
/* Init the random number generator, setup the hooks, and start the thread */
|
||||
int Randinit ()
|
||||
int RandinitWithCheck ( int* pAlreadyInitialized)
|
||||
{
|
||||
DWORD dwLastError = ERROR_SUCCESS;
|
||||
if (GetMaxPkcs5OutSize() > RNG_POOL_SIZE)
|
||||
TC_THROW_FATAL_EXCEPTION;
|
||||
|
||||
if(bRandDidInit)
|
||||
{
|
||||
if (pAlreadyInitialized)
|
||||
*pAlreadyInitialized = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (pAlreadyInitialized)
|
||||
*pAlreadyInitialized = 0;
|
||||
|
||||
InitializeCriticalSection (&critRandProt);
|
||||
|
||||
@ -153,6 +160,11 @@ int Randinit ()
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Randinit ()
|
||||
{
|
||||
return RandinitWithCheck (NULL);
|
||||
}
|
||||
|
||||
/* Close everything down, including the thread which is closed down by
|
||||
setting a flag which eventually causes the thread function to exit */
|
||||
void RandStop (BOOL freePool)
|
||||
|
@ -35,6 +35,7 @@ extern "C" {
|
||||
|
||||
void RandAddInt ( unsigned __int32 x );
|
||||
int Randinit ( void );
|
||||
int RandinitWithCheck ( int* pAlreadyInitialized);
|
||||
void RandStop (BOOL freePool);
|
||||
BOOL IsRandomNumberGeneratorStarted ();
|
||||
void RandSetHashFunction ( int hash_algo_id );
|
||||
|
Loading…
Reference in New Issue
Block a user