From: Alex Henrie alexhenrie24@gmail.com
--- programs/reg/import.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/programs/reg/import.c b/programs/reg/import.c index 6da0148ba3e..dc4bb61b683 100644 --- a/programs/reg/import.c +++ b/programs/reg/import.c @@ -377,10 +377,7 @@ static LONG open_key(struct parser *parser, WCHAR *path) KEY_ALL_ACCESS|parser->sam, NULL, &parser->hkey, NULL);
if (res == ERROR_SUCCESS) - { - parser->key_name = malloc((lstrlenW(path) + 1) * sizeof(WCHAR)); - lstrcpyW(parser->key_name, path); - } + parser->key_name = wcsdup(path); else parser->hkey = NULL;
@@ -636,8 +633,7 @@ static WCHAR *quoted_value_name_state(struct parser *parser, WCHAR *pos) goto invalid;
/* copy the value name in case we need to parse multiple lines and the buffer is overwritten */ - parser->value_name = malloc((lstrlenW(val_name) + 1) * sizeof(WCHAR)); - lstrcpyW(parser->value_name, val_name); + parser->value_name = wcsdup(val_name);
set_state(parser, DATA_START); return p;