reg: Fail if multiple /v switches are passed in.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hugh McMaster 2016-03-15 23:23:56 +11:00 committed by Alexandre Julliard
parent 735dca6074
commit bd278b1983
2 changed files with 10 additions and 3 deletions

View File

@ -602,7 +602,7 @@ int wmain(int argc, WCHAR *argvW[])
{
if (!lstrcmpiW(argvW[i], slashVW))
{
if (!(value_name = argvW[++i]))
if (value_name || !(value_name = argvW[++i]))
{
output_message(STRING_INVALID_CMDLINE);
return 1;
@ -659,7 +659,7 @@ int wmain(int argc, WCHAR *argvW[])
{
if (!lstrcmpiW(argvW[i], slashVW))
{
if (!(value_name = argvW[++i]))
if (value_name || !(value_name = argvW[++i]))
{
output_message(STRING_INVALID_CMDLINE);
return 1;
@ -696,7 +696,7 @@ int wmain(int argc, WCHAR *argvW[])
{
if (!lstrcmpiW(argvW[i], slashVW))
{
if (!(value_name = argvW[++i]))
if (value_name || !(value_name = argvW[++i]))
{
output_message(STRING_INVALID_CMDLINE);
return 1;

View File

@ -532,6 +532,13 @@ static void test_v_flags(void)
run_reg_exe("reg delete HKCU\\" KEY_BASE " /f /v", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
/* Multiple /v switches */
run_reg_exe("reg add HKCU\\" KEY_BASE " /v Wine /t REG_DWORD /d 0x1 /v Test /f", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
run_reg_exe("reg delete HKCU\\" KEY_BASE " /v Wine /v Test /f", &r);
ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
}
START_TEST(reg)