Hugh McMaster : reg: Fail if access is denied when adding registry data.

Alexandre Julliard julliard at winehq.org
Mon May 3 16:37:05 CDT 2021


Module: wine
Branch: master
Commit: d433d1f122a85b7902b48bae1930eef503a239a5
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d433d1f122a85b7902b48bae1930eef503a239a5

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Mon May  3 23:20:36 2021 +1000

reg: Fail if access is denied when adding registry data.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/reg/add.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/programs/reg/add.c b/programs/reg/add.c
index 897c6f60621..258e3e8cb25 100644
--- a/programs/reg/add.c
+++ b/programs/reg/add.c
@@ -156,6 +156,7 @@ static int run_add(HKEY root, WCHAR *path, WCHAR *value_name, BOOL value_empty,
     HKEY hkey;
     DWORD data_type, data_size;
     BYTE *reg_data = NULL;
+    LONG rc;
 
     if (RegCreateKeyExW(root, path, 0, NULL, REG_OPTION_NON_VOLATILE,
                         KEY_READ|KEY_WRITE, NULL, &hkey, NULL))
@@ -199,10 +200,17 @@ static int run_add(HKEY root, WCHAR *path, WCHAR *value_name, BOOL value_empty,
         return 1;
     }
 
-    RegSetValueExW(hkey, value_name, 0, data_type, reg_data, data_size);
-    free(reg_data);
+    rc = RegSetValueExW(hkey, value_name, 0, data_type, reg_data, data_size);
 
+    free(reg_data);
     RegCloseKey(hkey);
+
+    if (rc)
+    {
+        output_message(STRING_ACCESS_DENIED);
+        return 1;
+    }
+
     output_message(STRING_SUCCESS);
 
     return 0;




More information about the wine-cvs mailing list