diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-04-05 22:21:59 +0200 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-04-06 00:22:36 +0200 |
commit | 2784652ab880dcea82aa212096b64d39695012fc (patch) | |
tree | b6cc4636a3e47efaeae338dca1fca87a347b82b8 /src/ExpandVolume | |
parent | a284922ce45ca777dd98b53e846603c63cb44904 (diff) | |
download | VeraCrypt-2784652ab880dcea82aa212096b64d39695012fc.tar.gz VeraCrypt-2784652ab880dcea82aa212096b64d39695012fc.zip |
Windows vulnerability fix: CryptAcquireContext vulnerability fix. Add checks to random generator to abort in case of error and display a diagnose message to the user.
Diffstat (limited to 'src/ExpandVolume')
-rw-r--r-- | src/ExpandVolume/DlgExpandVolume.cpp | 5 | ||||
-rw-r--r-- | src/ExpandVolume/ExpandVolume.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/ExpandVolume/DlgExpandVolume.cpp b/src/ExpandVolume/DlgExpandVolume.cpp index 966650bb..db2aa9fd 100644 --- a/src/ExpandVolume/DlgExpandVolume.cpp +++ b/src/ExpandVolume/DlgExpandVolume.cpp @@ -476,7 +476,10 @@ void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume) } if (Randinit() != ERR_SUCCESS) { - nStatus = ERR_PARAMETER_INCORRECT; + if (CryptoAPILastError == ERROR_SUCCESS)
+ nStatus = ERR_RAND_INIT_FAILED;
+ else
+ nStatus = ERR_CAPI_INIT_FAILED; goto error; } diff --git a/src/ExpandVolume/ExpandVolume.c b/src/ExpandVolume/ExpandVolume.c index 65a3740a..1d777a11 100644 --- a/src/ExpandVolume/ExpandVolume.c +++ b/src/ExpandVolume/ExpandVolume.c @@ -602,7 +602,13 @@ static int ExpandVolume (HWND hwndDlg, char *lpszVolume, Password *pVolumePasswo } if (Randinit ()) - goto error; // note: nStatus == ERR_OS_ERROR + { + if (CryptoAPILastError == ERROR_SUCCESS)
+ nStatus = ERR_RAND_INIT_FAILED;
+ else
+ nStatus = ERR_CAPI_INIT_FAILED; + goto error; + } if (!bDevice && bPreserveTimestamp) { |