VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Format
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2020-07-06 18:03:57 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2020-07-06 18:18:54 +0200
commit3daaae0d4895b6d4f37499ec75f42ed8359a4d74 (patch)
treebb24764fe66b2d87d83ed8d251974163e84e870a /src/Format
parentff391d9a6afb856e20e827edbad0aff9e6caffe3 (diff)
downloadVeraCrypt-3daaae0d4895b6d4f37499ec75f42ed8359a4d74.tar.gz
VeraCrypt-3daaae0d4895b6d4f37499ec75f42ed8359a4d74.zip
Windows: correctly wipe password in UI input field in case of direct creation of Hidden volume or resuming non-system in-place encryption
Diffstat (limited to 'src/Format')
-rw-r--r--src/Format/Tcformat.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Format/Tcformat.c b/src/Format/Tcformat.c
index ab7b165b..6a31883c 100644
--- a/src/Format/Tcformat.c
+++ b/src/Format/Tcformat.c
@@ -420,7 +420,9 @@ static void WipePasswordsAndKeyfiles (bool bFull)
// Attempt to wipe passwords stored in the input field buffers
wmemset (tmp, L'X', MAX_PASSWORD);
tmp [MAX_PASSWORD] = 0;
+ if (hPasswordInputField)
SetWindowText (hPasswordInputField, tmp);
+ if (hVerifyPasswordInputField)
SetWindowText (hVerifyPasswordInputField, tmp);
burn (&szVerify[0], sizeof (szVerify));
@@ -436,8 +438,10 @@ static void WipePasswordsAndKeyfiles (bool bFull)
burn (&outerVolumePim, sizeof (outerVolumePim));
}
- SetWindowText (hPasswordInputField, L"");
- SetWindowText (hVerifyPasswordInputField, L"");
+ if (hPasswordInputField)
+ SetWindowText (hPasswordInputField, L"");
+ if (hVerifyPasswordInputField)
+ SetWindowText (hVerifyPasswordInputField, L"");
KeyFileRemoveAll (&FirstKeyFile);
KeyFileRemoveAll (&defaultKeyFilesParam.FirstKeyFile);
@@ -4327,6 +4331,8 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
/* make autodetection the default */
SendMessage (hComboBox, CB_SETCURSEL, 0, 0);
+ hPasswordInputField = GetDlgItem (hwndDlg, IDC_PASSWORD_DIRECT);
+ hVerifyPasswordInputField = NULL;
ToNormalPwdField (hwndDlg, IDC_PASSWORD_DIRECT);
SetPassword (hwndDlg, IDC_PASSWORD_DIRECT, szRawPassword);