diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-10-14 23:07:33 +0200 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-10-15 01:36:10 +0200 |
commit | 19483d20975148940ad26c0145acb5940b03afc3 (patch) | |
tree | cebfa501a5bbb544ab3ba6f559ad663523eb105a /src/Boot/Windows/BootMain.cpp | |
parent | 225acf4a22cb6daf613471cdf0fedb61f383ea97 (diff) | |
download | VeraCrypt-19483d20975148940ad26c0145acb5940b03afc3.tar.gz VeraCrypt-19483d20975148940ad26c0145acb5940b03afc3.zip |
Windows Bootloader: Protect password/PIM length by filling the fields to their maximum length with '*' after ENTER is hit
Diffstat (limited to 'src/Boot/Windows/BootMain.cpp')
-rw-r--r-- | src/Boot/Windows/BootMain.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/Boot/Windows/BootMain.cpp b/src/Boot/Windows/BootMain.cpp index 7101139d..f66fd36b 100644 --- a/src/Boot/Windows/BootMain.cpp +++ b/src/Boot/Windows/BootMain.cpp @@ -168,10 +168,19 @@ static byte AskPassword (Password &password, int& pim) switch (scanCode)
{
case TC_BIOS_KEY_ENTER:
+ password.Length = pos;
+ if (hidePassword)
+ {
+ while (pos < MAX_PASSWORD)
+ {
+ PrintChar ('*');
+ pos++;
+ }
+ }
+
ClearBiosKeystrokeBuffer();
PrintEndl();
-
- password.Length = pos;
+
break;
case TC_BIOS_KEY_BACKSPACE:
@@ -228,9 +237,18 @@ static byte AskPassword (Password &password, int& pim) switch (scanCode)
{
case TC_BIOS_KEY_ENTER:
+ if (hidePassword)
+ {
+ while (pos < MAX_PIM)
+ {
+ PrintChar ('*');
+ pos++;
+ }
+ }
+
ClearBiosKeystrokeBuffer();
PrintEndl();
-
+
return TC_BIOS_KEY_ENTER;
case TC_BIOS_KEY_BACKSPACE:
|