VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Mount/Mount.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mount/Mount.c')
-rw-r--r--src/Mount/Mount.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c
index 28a43acf..e90a0571 100644
--- a/src/Mount/Mount.c
+++ b/src/Mount/Mount.c
@@ -8836,20 +8836,22 @@ void ExtractCommandLine (HWND hwndDlg, wchar_t *lpszCommandLine)
if (HAS_ARGUMENT == GetArgumentValue (lpszCommandLineArgs,
&i, nNoCommandLineArgs, szTmp, ARRAYSIZE (szTmp)))
{
- if (_wcsicmp(szTmp, L"sha512") == 0 || _wcsicmp(szTmp, L"sha-512") == 0)
+ /* match against special names first */
+ if (_wcsicmp(szTmp, L"sha512") == 0)
CmdVolumePkcs5 = SHA512;
- else if (_wcsicmp(szTmp, L"whirlpool") == 0)
- CmdVolumePkcs5 = WHIRLPOOL;
- else if (_wcsicmp(szTmp, L"sha256") == 0 || _wcsicmp(szTmp, L"sha-256") == 0)
+ else if (_wcsicmp(szTmp, L"sha256") == 0)
CmdVolumePkcs5 = SHA256;
- else if (_wcsicmp(szTmp, L"ripemd160") == 0 || _wcsicmp(szTmp, L"ripemd-160") == 0)
+ else if (_wcsicmp(szTmp, L"ripemd160") == 0)
CmdVolumePkcs5 = RIPEMD160;
else
{
- CmdVolumePkcs5 = 0;
- AbortProcess ("COMMAND_LINE_ERROR");
+ /* match using internal hash names */
+ CmdVolumePkcs5 = HashGetIdByName (szTmp);
+ if (0 == CmdVolumePkcs5)
+ {
+ AbortProcess ("COMMAND_LINE_ERROR");
+ }
}
-
}
else
AbortProcess ("COMMAND_LINE_ERROR");