RegQueryValueExW and RegQueryValueExA calls accept bytes. Patch by Victor Martinez Calvo. CORE-9665 #comment Thanks!

svn path=/trunk/; revision=72947
This commit is contained in:
Mark Jansen 2016-10-09 20:58:08 +00:00
parent fc0c290789
commit aef3f9c467
15 changed files with 31 additions and 30 deletions

View 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,

View 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,

View 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,

View 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;

View 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);

View 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,

View 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,

View 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;

View 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",

View 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);

View 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);

View 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;

View 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;

View 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);

View 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;