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

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 15 10:12:16 CDT 2016


Module: wine
Branch: master
Commit: bd278b1983d0913b28f85cfd897e1e6484bd5f35
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bd278b1983d0913b28f85cfd897e1e6484bd5f35

Author: Hugh McMaster <hugh.mcmaster at 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 at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at 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)




More information about the wine-cvs mailing list