Module: wine Branch: master Commit: 552db89b06bd7d5d8f9afd126ee82ae87c54b849 URL: http://source.winehq.org/git/wine.git/?a=commit;h=552db89b06bd7d5d8f9afd126e...
Author: Marcus Meissner marcus@jet.franken.de Date: Sun Dec 6 22:45:48 2009 +0100
reg: Fixed 2 functionality bugs in REG DELETE (Coverity).
---
programs/reg/reg.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c index f0a8f8b..07dbdbf 100644 --- a/programs/reg/reg.c +++ b/programs/reg/reg.c @@ -255,7 +255,8 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, /* FIXME: Prompt for delete */ }
- if (!value_name) + /* Delete subtree only if no /v* option is given */ + if (!value_name && !value_empty && !value_all) { if (RegDeleteTreeW(root,p)!=ERROR_SUCCESS) { @@ -293,10 +294,10 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, while (1) { count = maxValue; - rc = RegEnumValueW(subkey, 0, value_name, &count, NULL, NULL, NULL, NULL); + rc = RegEnumValueW(subkey, 0, szValue, &count, NULL, NULL, NULL, NULL); if (rc == ERROR_SUCCESS) { - rc = RegDeleteValueW(subkey,value_name); + rc = RegDeleteValueW(subkey, szValue); if (rc != ERROR_SUCCESS) break; }