Module: wine Branch: master Commit: bd278b1983d0913b28f85cfd897e1e6484bd5f35 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bd278b1983d0913b28f85cfd89...
Author: Hugh McMaster hugh.mcmaster@outlook.com Date: Tue Mar 15 23:23:56 2016 +1100
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
---
programs/reg/reg.c | 6 +++--- programs/reg/tests/reg.c | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c index 29be40e..9dbce32 100644 --- a/programs/reg/reg.c +++ b/programs/reg/reg.c @@ -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; diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c index d1db5c4..927288d 100644 --- a/programs/reg/tests/reg.c +++ b/programs/reg/tests/reg.c @@ -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)