Module: wine Branch: master Commit: 2fd010110ae7e7c76f9368ec237622fa061148ae URL: http://source.winehq.org/git/wine.git/?a=commit;h=2fd010110ae7e7c76f9368ec23...
Author: Hugh McMaster hugh.mcmaster@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@outlook.com Signed-off-by: Alexandre Julliard julliard@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);