Hugh McMaster : reg: Fail if strtolW cannot convert the entire data string into a DWORD.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Feb 16 09:54:59 CST 2016


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

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Tue Feb 16 17:12:06 2016 +1100

reg: Fail if strtolW cannot convert the entire data string into a DWORD.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/reg/reg.c       | 2 +-
 programs/reg/tests/reg.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index 20de804..7a66753 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -244,7 +244,7 @@ static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *r
             LPWSTR rest;
             DWORD val;
             val = strtolW(data, &rest, 0);
-            if (rest == data) {
+            if (*rest) {
                 output_message(STRING_MISSING_INTEGER);
                 break;
             }
diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c
index 2a96dd7..37fc40a 100644
--- a/programs/reg/tests/reg.c
+++ b/programs/reg/tests/reg.c
@@ -258,7 +258,7 @@ static void test_add(void)
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword3 /t REG_DWORD /d deadbeef /f", &r);
     ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword4 /t REG_DWORD /d 123xyz /f", &r);
-    todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
+    ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
 
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword5 /t reg_dword /d 12345678 /f", &r);
     ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
@@ -276,7 +276,7 @@ static void test_add(void)
                  "got wrong data %d, expected %d\n", dword, 123);
 
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword7 /t reg_dword /d 0xabcdefg /f", &r);
-    todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
+    ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
 
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword8 /t REG_dword /d 0xdeadbeef /f", &r);
     ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
@@ -299,7 +299,7 @@ static void test_add(void)
                (sizeof(long) > sizeof(DWORD)) ? 0 : TODO_REG_DATA);
 
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword13 /t REG_DWORD /d 00x123 /f", &r);
-    todo_wine ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
+    ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);
 
     /* REG_DWORD_LITTLE_ENDIAN */
     run_reg_exe("reg add HKCU\\" KEY_BASE " /v DWORD_LE /t REG_DWORD_LITTLE_ENDIAN /d 456 /f", &r);




More information about the wine-cvs mailing list