From 829c0ced694df890b7770a40ada9bcab4d1e17c9 Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Mon, 23 Apr 2018 13:37:27 +0000 Subject: [PATCH] regedit: Null terminate hex-formatted REG_SZ data if necessary. Signed-off-by: Hugh McMaster Signed-off-by: Alexandre Julliard --- programs/regedit/regproc.c | 3 ++- programs/regedit/tests/regedit.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c index 35b03228c4b..84a16f93c40 100644 --- a/programs/regedit/regproc.c +++ b/programs/regedit/regproc.c @@ -507,7 +507,8 @@ static void free_parser_data(struct parser *parser) static void prepare_hex_string_data(struct parser *parser) { - if (parser->data_type == REG_EXPAND_SZ || parser->data_type == REG_MULTI_SZ) + if (parser->data_type == REG_EXPAND_SZ || parser->data_type == REG_MULTI_SZ || + parser->data_type == REG_SZ) { if (parser->is_unicode) { diff --git a/programs/regedit/tests/regedit.c b/programs/regedit/tests/regedit.c index 41712a13f1f..845ab00ac9a 100644 --- a/programs/regedit/tests/regedit.c +++ b/programs/regedit/tests/regedit.c @@ -3679,7 +3679,7 @@ static void test_export(void) verify_reg(hkey, "Wine4a", REG_DWORD, &dword, sizeof(dword), 0); verify_reg(hkey, "Wine4b", REG_SZ, "\0\0\0\0\0\0\0", 4, 0); verify_reg(hkey, "Wine4c", REG_SZ, "Value", 6, 0); - verify_reg(hkey, "Wine4d", REG_SZ, "\0abc", 5, TODO_REG_SIZE); + verify_reg(hkey, "Wine4d", REG_SZ, "\0abc", 5, 0); dword = 0x100; verify_reg(hkey, "Wine4e", REG_DWORD, &dword, sizeof(dword), 0); verify_reg(hkey, "Wine4f", REG_SZ, "\0Value", 7, 0);