[PATCH 5/7] reg: Fail if the data argument for REG_DWORD begins with a minus sign
Hugh McMaster
hugh.mcmaster at outlook.com
Sun Feb 14 18:38:35 CST 2016
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
programs/reg/reg.c | 2 +-
programs/reg/tests/reg.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index 22c97b4..aacea2d 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -240,7 +240,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) {
+ if (*rest || data[0] == '-') {
output_message(STRING_MISSING_INTEGER);
break;
}
diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c
index aa089ef..0cb15ff 100644
--- a/programs/reg/tests/reg.c
+++ b/programs/reg/tests/reg.c
@@ -291,9 +291,9 @@ static void test_add(void)
(sizeof(long) > sizeof(DWORD)) ? 0 : TODO_REG_DATA);
run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_DWORD /v dword9 /f /d -1", &r);
- todo_wine ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r);
+ ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r);
run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_DWORD /v dword10 /f /d -0x1", &r);
- todo_wine ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r);
+ ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r);
run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword8 /t REG_dword /d 0x01ffffffff /f", &r);
todo_wine ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %d\n", r);
--
1.9.1
More information about the wine-patches
mailing list