VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Boot/Windows/BootMain.cpp
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2015-10-14 23:07:33 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2015-10-15 01:36:10 +0200
commit19483d20975148940ad26c0145acb5940b03afc3 (patch)
treecebfa501a5bbb544ab3ba6f559ad663523eb105a /src/Boot/Windows/BootMain.cpp
parent225acf4a22cb6daf613471cdf0fedb61f383ea97 (diff)
downloadVeraCrypt-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.cpp24
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: