Marcus Meissner : reg: Fixed 2 functionality bugs in REG DELETE (Coverity).

Alexandre Julliard julliard at winehq.org
Mon Dec 7 10:26:17 CST 2009


Module: wine
Branch: master
Commit: 552db89b06bd7d5d8f9afd126ee82ae87c54b849
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=552db89b06bd7d5d8f9afd126ee82ae87c54b849

Author: Marcus Meissner <marcus at 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;
             }




More information about the wine-cvs mailing list