VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Setup
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2016-09-26 11:42:02 (GMT)
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2016-10-17 16:40:17 (GMT)
commitf40755fd7cb0c16ab37d016682d82e8fea4349b7 (patch)
tree047df1e137a605a2aeb7f351cac65c1f1082ac7e /src/Setup
parent3c09765208c82573155d1197386e593b93283896 (diff)
downloadVeraCrypt-f40755fd7cb0c16ab37d016682d82e8fea4349b7.zip
VeraCrypt-f40755fd7cb0c16ab37d016682d82e8fea4349b7.tar.gz
Windows Setup: correct call to CryptAcquireContext to use memory only container for random generation and remove use of srand/rand (if CryptGenRandom fails which is very unlikely, we just use one color).
Diffstat (limited to 'src/Setup')
-rw-r--r--src/Setup/Wizard.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/Setup/Wizard.c b/src/Setup/Wizard.c
index 8c0f058..8bc6411 100644
--- a/src/Setup/Wizard.c
+++ b/src/Setup/Wizard.c
@@ -180,15 +180,11 @@ static int GetDonVal (int minVal, int maxVal)
if (!prngInitialized)
{
- if (!CryptAcquireContext (&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)
- && !CryptAcquireContext (&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET))
+ if (!CryptAcquireContext (&hCryptProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT))
OsPrngAvailable = FALSE;
else
OsPrngAvailable = TRUE;
- srand ((unsigned int) time (NULL));
- rand(); // Generate and discard the inital value, as it always appears to be somewhat non-random.
-
prngInitialized = TRUE;
}
@@ -197,7 +193,7 @@ static int GetDonVal (int minVal, int maxVal)
return ((int) ((double) *((uint16 *) buffer) / (0xFFFF+1) * (maxVal + 1 - minVal)) + minVal);
}
else
- return ((int) ((double) rand() / (RAND_MAX+1) * (maxVal + 1 - minVal)) + minVal);
+ return maxVal;
}