Zhiyi Zhang : cmd: Pass size in bytes to RegQueryValueExW().

Alexandre Julliard julliard at winehq.org
Wed Oct 20 15:58:39 CDT 2021


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

Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Wed Oct 20 10:06:56 2021 +0800

cmd: Pass size in bytes to RegQueryValueExW().

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/cmd/builtins.c | 5 +++--
 programs/cmd/wcmdmain.c | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index a55ce6e0244..d0a954d90fa 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -4763,7 +4763,7 @@ void WCMD_assoc (const WCHAR *args, BOOL assoc) {
     WCHAR   *newValue;
     LONG    rc = ERROR_SUCCESS;
     WCHAR    keyValue[MAXSTRING];
-    DWORD   valueLen = MAXSTRING;
+    DWORD   valueLen;
     HKEY    readKey;
 
     /* See if parameter includes '=' */
@@ -4803,7 +4803,7 @@ void WCMD_assoc (const WCHAR *args, BOOL assoc) {
 
             if (RegOpenKeyExW(key, subkey, 0, accessOptions, &readKey) == ERROR_SUCCESS) {
 
-              valueLen = ARRAY_SIZE(keyValue);
+              valueLen = sizeof(keyValue);
               rc = RegQueryValueExW(readKey, NULL, NULL, NULL, (LPBYTE)keyValue, &valueLen);
               WCMD_output_asis(keyName);
               WCMD_output_asis(L"=");
@@ -4836,6 +4836,7 @@ void WCMD_assoc (const WCHAR *args, BOOL assoc) {
 
         if (RegOpenKeyExW(key, subkey, 0, accessOptions, &readKey) == ERROR_SUCCESS) {
 
+          valueLen = sizeof(keyValue);
           rc = RegQueryValueExW(readKey, NULL, NULL, NULL, (LPBYTE)keyValue, &valueLen);
           WCMD_output_asis(args);
           WCMD_output_asis(L"=");
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index 8c6ed1c057c..4ed1c96a9c2 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -2700,7 +2700,7 @@ int __cdecl wmain (int argc, WCHAR *argvW[])
                   size = sizeof(DWORD);
                   RegQueryValueExW(key, L"DefaultColor", NULL, NULL, (BYTE *)&value, &size);
               } else if (type == REG_SZ) {
-                  size = ARRAY_SIZE(strvalue);
+                  size = sizeof(strvalue);
                   RegQueryValueExW(key, L"DefaultColor", NULL, NULL, (BYTE *)strvalue, &size);
                   value = wcstoul(strvalue, NULL, 10);
               }
@@ -2719,7 +2719,7 @@ int __cdecl wmain (int argc, WCHAR *argvW[])
                   size = sizeof(DWORD);
                   RegQueryValueExW(key, L"DefaultColor", NULL, NULL, (BYTE *)&value, &size);
               } else if (type == REG_SZ) {
-                  size = ARRAY_SIZE(strvalue);
+                  size = sizeof(strvalue);
                   RegQueryValueExW(key, L"DefaultColor", NULL, NULL, (BYTE *)strvalue, &size);
                   value = wcstoul(strvalue, NULL, 10);
               }




More information about the wine-cvs mailing list