RegQueryValueExW and RegQueryValueExA calls accept bytes. Patch by Victor Martinez...
authorMark Jansen <mark.jansen@reactos.org>
Sun, 9 Oct 2016 20:58:08 +0000 (20:58 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Sun, 9 Oct 2016 20:58:08 +0000 (20:58 +0000)
svn path=/trunk/; revision=72947

15 files changed:
reactos/base/applications/mstsc/connectdialog.c
reactos/base/applications/rapps/installed.c
reactos/base/applications/rapps_new/installed.cpp
reactos/base/applications/regedit/framewnd.c
reactos/base/applications/taskmgr/procpage.c
reactos/base/system/services/rpcserver.c
reactos/base/system/winlogon/setup.c
reactos/dll/cpl/wined3dcfg/general.c
reactos/dll/win32/avicap32/avicap32.c
reactos/dll/win32/powrprof/powrprof.c
reactos/dll/win32/secur32/sspi.c
reactos/dll/win32/setupapi/install.c
reactos/dll/win32/setupapi/interface.c
reactos/dll/win32/uxtheme/system.c
reactos/dll/win32/winmm/playsound.c

index 6860d09..c707b24 100644 (file)
@@ -138,7 +138,7 @@ LoadUsernameHint(HWND hDlg, INT iCur)
                 if(RegOpenKeyExW(hKey, szName, 0, KEY_READ, &hSubKey) != ERROR_SUCCESS)
                     break;
 
-                dwSize = MAXVALUE;
+                dwSize = MAXVALUE * sizeof(WCHAR);
 
                 if(RegQueryValueExW(hKey, L"UsernameHint", 0,  NULL, (LPBYTE)szValue, &dwSize) == ERROR_SUCCESS)
                 {
@@ -185,7 +185,7 @@ FillServerAddesssCombo(PINFO pInfo)
                                 NULL);
             if (ret == ERROR_SUCCESS)
             {
-                size = MAX_KEY_NAME;
+                size = sizeof(Name);
                 if (RegQueryValueExW(hKey,
                                      Name,
                                      0,
index 7a13693..2bdf69e 100644 (file)
@@ -11,7 +11,7 @@
 BOOL
 GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString)
 {
-    DWORD dwSize = MAX_PATH;
+    DWORD dwSize = MAX_PATH * sizeof(WCHAR);
 
     if (RegQueryValueExW(hKey,
                          lpKeyName,
@@ -50,7 +50,7 @@ IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey)
         if (RegOpenKeyW(hKey, szName, &hSubKey) == ERROR_SUCCESS)
         {
             dwType = REG_SZ;
-            dwSize = MAX_PATH;
+            dwSize = sizeof(szDisplayName);
             if (RegQueryValueExW(hSubKey,
                                  L"DisplayName",
                                  NULL,
@@ -118,7 +118,7 @@ UninstallApplication(INT Index, BOOL bModify)
     hKey = ItemInfo->hSubKey;
 
     dwType = REG_SZ;
-    dwSize = MAX_PATH;
+    dwSize = sizeof(szPath);
     if (RegQueryValueExW(hKey,
                          bModify ? szModify : szUninstall,
                          NULL,
@@ -254,7 +254,7 @@ EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc)
             }
 
             dwType = REG_SZ;
-            dwSize = MAX_PATH;
+            dwSize = sizeof(pszParentKeyName);
             bIsUpdate = (RegQueryValueExW(Info.hSubKey,
                                           L"ParentKeyName",
                                           NULL,
@@ -262,7 +262,7 @@ EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc)
                                           (LPBYTE)pszParentKeyName,
                                           &dwSize) == ERROR_SUCCESS);
 
-            dwSize = MAX_PATH;
+            dwSize = sizeof(pszDisplayName);
             if (RegQueryValueExW(Info.hSubKey,
                                  L"DisplayName",
                                  NULL,
index cdff0a2..e19184f 100644 (file)
@@ -11,7 +11,7 @@
 BOOL
 GetApplicationString(HKEY hKey, LPCWSTR lpKeyName, LPWSTR lpString)
 {
-    DWORD dwSize = MAX_PATH;
+    DWORD dwSize = MAX_PATH * sizeof(WCHAR);
 
     if (RegQueryValueExW(hKey,
                          lpKeyName,
@@ -50,7 +50,7 @@ IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey)
         if (RegOpenKeyW(hKey, szName, &hSubKey) == ERROR_SUCCESS)
         {
             dwType = REG_SZ;
-            dwSize = MAX_PATH;
+            dwSize = sizeof(szDisplayName);
             if (RegQueryValueExW(hSubKey,
                                  L"DisplayName",
                                  NULL,
@@ -118,7 +118,7 @@ UninstallApplication(INT Index, BOOL bModify)
     hKey = ItemInfo->hSubKey;
 
     dwType = REG_SZ;
-    dwSize = MAX_PATH;
+    dwSize = sizeof(szPath);
     if (RegQueryValueExW(hKey,
                          bModify ? szModify : szUninstall,
                          NULL,
@@ -254,7 +254,7 @@ EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc)
             }
 
             dwType = REG_SZ;
-            dwSize = MAX_PATH;
+            dwSize = sizeof(pszParentKeyName);
             bIsUpdate = (RegQueryValueExW(Info.hSubKey,
                                           L"ParentKeyName",
                                           NULL,
@@ -262,7 +262,7 @@ EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc)
                                           (LPBYTE)pszParentKeyName,
                                           &dwSize) == ERROR_SUCCESS);
 
-            dwSize = MAX_PATH;
+            dwSize = sizeof(pszDisplayName);
             if (RegQueryValueExW(Info.hSubKey,
                                  L"DisplayName",
                                  NULL,
index 8f7d488..9e2ff0c 100644 (file)
@@ -774,7 +774,7 @@ static void ChooseFavorite(LPCWSTR pszFavorite)
     if (RegOpenKeyExW(HKEY_CURRENT_USER, s_szFavoritesRegKey, 0, KEY_QUERY_VALUE, &hKey) != ERROR_SUCCESS)
         goto done;
 
-    cbData = (sizeof(szFavoritePath) / sizeof(szFavoritePath[0])) - 1;
+    cbData = sizeof(szFavoritePath);
     memset(szFavoritePath, 0, sizeof(szFavoritePath));
     if (RegQueryValueExW(hKey, pszFavorite, NULL, &dwType, (LPBYTE) szFavoritePath, &cbData) != ERROR_SUCCESS)
         goto done;
index ead0c73..8e44b39 100644 (file)
@@ -390,7 +390,7 @@ void ProcessPageShowContextMenu(DWORD dwProcessId)
 
     if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug", 0, KEY_READ, &hKey) == ERROR_SUCCESS)
     {
-        dwDebuggerSize = 260;
+        dwDebuggerSize = sizeof(strDebugger);
         if (RegQueryValueExW(hKey, L"Debugger", NULL, NULL, (LPBYTE)strDebugger, &dwDebuggerSize) == ERROR_SUCCESS)
         {
             CharUpper(strDebugger);
index 965a122..73d3f18 100644 (file)
@@ -841,7 +841,7 @@ Int_EnumDependentServicesW(HKEY hServicesKey,
         if (dwError != ERROR_SUCCESS)
             return dwError;
 
-        dwSize = MAX_PATH;
+        dwSize = MAX_PATH * sizeof(WCHAR);
 
         /* Check for the DependOnService Value */
         dwError = RegQueryValueExW(hServiceEnumKey,
index 9cb4702..7cec968 100644 (file)
@@ -80,7 +80,7 @@ RunSetupThreadProc(
         return FALSE;
 
     /* Read key */
-    dwSize = (sizeof(Shell) / sizeof(Shell[0])) - 1;
+    dwSize = sizeof(Shell);
     dwError = RegQueryValueExW(hKey,
                                L"CmdLine",
                                NULL,
index e78e6fb..659b5d1 100644 (file)
@@ -51,7 +51,7 @@ WINED3D_SETTINGS gwd3dsDdRender[] =
 void InitControl(HWND hWndDlg, HKEY hKey, PWCHAR szKey, PWINED3D_SETTINGS pSettings, INT iControlId, INT iCount)
 {
     WCHAR szBuffer[MAX_KEY_LENGTH];
-    DWORD dwSize = MAX_KEY_LENGTH;
+    DWORD dwSize = sizeof(szBuffer);
     DWORD dwType = 0;
     INT iCurrent;
     INT iActive = 0;
index 276aaf9..c545747 100644 (file)
@@ -179,7 +179,7 @@ capGetDriverDescriptionW(WORD wDriverIndex,
     {
         if (RegOpenKeyW(hKey, szDriver, &hSubKey) == ERROR_SUCCESS)
         {
-            dwSize = sizeof(szFileName) / sizeof(WCHAR);
+            dwSize = sizeof(szFileName);
 
             if (RegQueryValueExW(hSubKey,
                                  L"Driver",
@@ -188,7 +188,7 @@ capGetDriverDescriptionW(WORD wDriverIndex,
                                  (LPBYTE)&szFileName,
                                  &dwSize) == ERROR_SUCCESS)
             {
-                dwSize = sizeof(szDriverName) / sizeof(WCHAR);
+                dwSize = sizeof(szDriverName);
 
                 if (RegQueryValueExW(hSubKey,
                                      L"FriendlyName",
index e449088..672c832 100644 (file)
@@ -299,7 +299,7 @@ GetActivePwrScheme(PUINT puiID)
         return FALSE;
     }
 
-    dwSize = MAX_PATH;
+    dwSize = sizeof(szBuf);
     Err = RegQueryValueExW(hKey, L"CurrentPowerPolicy",
                            NULL, NULL,
                            (LPBYTE)&szBuf, &dwSize);
index fa454ae..6fe7806 100644 (file)
@@ -531,7 +531,7 @@ static void SECUR32_initializeProviders(void)
     if (apiRet == ERROR_SUCCESS)
     {
         WCHAR securityPkgNames[MAX_PATH]; /* arbitrary len */
-        DWORD size = sizeof(securityPkgNames) / sizeof(WCHAR), type;
+        DWORD size = sizeof(securityPkgNames), type;
 
         apiRet = RegQueryValueExW(key, securityProvidersW, NULL, &type,
          (PBYTE)securityPkgNames, &size);
index 0d5ef96..9fddeaf 100644 (file)
@@ -228,7 +228,8 @@ static void append_multi_sz_value( HKEY hkey, const WCHAR *value, const WCHAR *s
     if (RegQueryValueExW( hkey, value, NULL, &type, NULL, &size )) return;
     if (type != REG_MULTI_SZ) return;
 
-    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, (size + str_size) * sizeof(WCHAR) ))) return;
+    size = size + str_size * sizeof(WCHAR) ;
+    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, size))) return;
     if (RegQueryValueExW( hkey, value, NULL, NULL, (BYTE *)buffer, &size )) goto done;
 
     /* compare each string against all the existing ones */
@@ -271,7 +272,7 @@ static void delete_multi_sz_value( HKEY hkey, const WCHAR *value, const WCHAR *s
     if (RegQueryValueExW( hkey, value, NULL, &type, NULL, &size )) return;
     if (type != REG_MULTI_SZ) return;
     /* allocate double the size, one for value before and one for after */
-    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, size * 2 * sizeof(WCHAR) ))) return;
+    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, size * 2))) return;
     if (RegQueryValueExW( hkey, value, NULL, NULL, (BYTE *)buffer, &size )) goto done;
     src = buffer;
     dst = buffer + size;
index 0edbb20..172d045 100644 (file)
@@ -232,7 +232,7 @@ SETUP_CreateInterfaceList(
 
             /* Step 2. Create an interface list for this element */
             HeapFree(GetProcessHeap(), 0, pSymbolicLink);
-            pSymbolicLink = HeapAlloc(GetProcessHeap(), 0, (dwLength + 1) * sizeof(WCHAR));
+            pSymbolicLink = HeapAlloc(GetProcessHeap(), 0, dwLength + sizeof(WCHAR));
             if (!pSymbolicLink)
             {
                 rc = ERROR_NOT_ENOUGH_MEMORY;
index 0a83eca..cb0ca8d 100644 (file)
@@ -81,7 +81,7 @@ BOOL CALLBACK UXTHEME_broadcast_msg (HWND hWnd, LPARAM msg)
 static DWORD query_reg_path (HKEY hKey, LPCWSTR lpszValue,
                              LPVOID pvData)
 {
-  DWORD dwRet, dwType, dwUnExpDataLen = MAX_PATH, dwExpDataLen;
+  DWORD dwRet, dwType, dwUnExpDataLen = MAX_PATH * sizeof(WCHAR), dwExpDataLen;
 
   TRACE("(hkey=%p,%s,%p)\n", hKey, debugstr_w(lpszValue),
         pvData);
@@ -194,7 +194,7 @@ void UXTHEME_LoadTheme(BOOL bLoad)
         /* Get current theme configuration */
         if(!RegOpenKeyW(HKEY_CURRENT_USER, szThemeManager, &hKey)) {
             TRACE("Loading theme config\n");
-            buffsize = sizeof(tmp)/sizeof(tmp[0]);
+            buffsize = sizeof(tmp);
             if(!RegQueryValueExW(hKey, szThemeActive, NULL, NULL, (LPBYTE)tmp, &buffsize)) {
                 bThemeActive = (tmp[0] != '0');
             }
@@ -202,10 +202,10 @@ void UXTHEME_LoadTheme(BOOL bLoad)
                 bThemeActive = FALSE;
                 TRACE("Failed to get ThemeActive: %d\n", GetLastError());
             }
-            buffsize = sizeof(szCurrentColor)/sizeof(szCurrentColor[0]);
+            buffsize = sizeof(szCurrentColor);
             if(RegQueryValueExW(hKey, szColorName, NULL, NULL, (LPBYTE)szCurrentColor, &buffsize))
                 szCurrentColor[0] = '\0';
-            buffsize = sizeof(szCurrentSize)/sizeof(szCurrentSize[0]);
+            buffsize = sizeof(szCurrentSize);
             if(RegQueryValueExW(hKey, szSizeName, NULL, NULL, (LPBYTE)szCurrentSize, &buffsize))
                 szCurrentSize[0] = '\0';
             if (query_reg_path (hKey, szDllName, szCurrentTheme))
@@ -618,7 +618,7 @@ BOOL WINAPI IsThemeActive(void)
     Result = RegOpenKeyW(HKEY_CURRENT_USER, szThemeManager, &hKey);
     if (Result == ERROR_SUCCESS)
     {
-        buffsize = sizeof(tmp)/sizeof(tmp[0]);
+        buffsize = sizeof(tmp);
         if (!RegQueryValueExW(hKey, szThemeActive, NULL, NULL, (LPBYTE)tmp, &buffsize)) 
             bActive = (tmp[0] != '0');
         RegCloseKey(hKey);
index aade05b..a6fdbd7 100644 (file)
@@ -130,7 +130,7 @@ static HMMIO        get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName)
         if (err != 0)
             goto none;
     }
-    count = sizeof(str)/sizeof(str[0]);
+    count = sizeof(str);
     err = RegQueryValueExW(hSnd, NULL, 0, &type, (LPBYTE)str, &count);
     RegCloseKey(hSnd);
     if (err != 0 || !*str) goto none;