Windows: Fix regression causing crash when a wrong password is used when changing password of volumes

This commit is contained in:
Mounir IDRASSI 2024-08-24 18:02:16 +02:00
parent 25c88fe3d3
commit 380ca35c6d
No known key found for this signature in database
GPG Key ID: FC1B00364B3FE937
3 changed files with 3 additions and 3 deletions

View File

@ -5443,7 +5443,7 @@ namespace VeraCrypt
finally_do_arg (PCRYPTO_INFO, cryptoInfo, { if (finally_arg) crypto_close (finally_arg); }); finally_do_arg (PCRYPTO_INFO, cryptoInfo, { if (finally_arg) crypto_close (finally_arg); });
// if the XTS master key is vulnerable, return error and do not allow the user to change the password since the master key will not be changed // if the XTS master key is vulnerable, return error and do not allow the user to change the password since the master key will not be changed
if (cryptoInfo->bVulnerableMasterKey) if ((status == 0) && cryptoInfo->bVulnerableMasterKey)
status = ERR_SYSENC_XTS_MASTERKEY_VULNERABLE; status = ERR_SYSENC_XTS_MASTERKEY_VULNERABLE;
if (status != 0) if (status != 0)

View File

@ -372,7 +372,7 @@ int ChangePwd (const wchar_t *lpszVolume, Password *oldPassword, int old_pkcs5,
nStatus = 0; // We can ignore this error here nStatus = 0; // We can ignore this error here
// if the XTS master key is vulnerable, return error and do not allow the user to change the password since the master key will not be changed // if the XTS master key is vulnerable, return error and do not allow the user to change the password since the master key will not be changed
if (cryptoInfo->bVulnerableMasterKey) if ((nStatus == 0) && cryptoInfo->bVulnerableMasterKey)
nStatus = ERR_XTS_MASTERKEY_VULNERABLE; nStatus = ERR_XTS_MASTERKEY_VULNERABLE;
if (nStatus == ERR_PASSWORD_WRONG) if (nStatus == ERR_PASSWORD_WRONG)

View File

@ -692,7 +692,7 @@ static int ExpandVolume (HWND hwndDlg, wchar_t *lpszVolume, Password *pVolumePas
nStatus = 0; // We can ignore this error here nStatus = 0; // We can ignore this error here
// if the volume master key is vulnerable, print a warning to inform the user // if the volume master key is vulnerable, print a warning to inform the user
if (cryptoInfo->bVulnerableMasterKey) if ((nStatus == 0) && cryptoInfo->bVulnerableMasterKey)
{ {
DebugAddProgressDlgStatus(hwndDlg, GetString ("ERR_XTS_MASTERKEY_VULNERABLE_SHORT")); DebugAddProgressDlgStatus(hwndDlg, GetString ("ERR_XTS_MASTERKEY_VULNERABLE_SHORT"));
} }