Specify correct buffer size in GetPrivateProfileStringW calls.
This commit is contained in:
parent
627d2fa7a2
commit
4a5ade0eb1
|
@ -226,7 +226,7 @@ BOOL DRIVER_GetLibName(LPCWSTR keyName, LPCWSTR sectName, LPWSTR buf, int sz)
|
||||||
if (lRet == ERROR_SUCCESS) return TRUE;
|
if (lRet == ERROR_SUCCESS) return TRUE;
|
||||||
/* default to system.ini if we can't find it in the registry,
|
/* default to system.ini if we can't find it in the registry,
|
||||||
* to support native installations where system.ini is still used */
|
* to support native installations where system.ini is still used */
|
||||||
return GetPrivateProfileStringW(sectName, keyName, &wsznull, buf, sz, wszSystemIni);
|
return GetPrivateProfileStringW(sectName, keyName, &wsznull, buf, sz / sizeof(WCHAR), wszSystemIni);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
|
|
@ -1844,7 +1844,7 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParm
|
||||||
RegQueryInfoKeyW( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
|
RegQueryInfoKeyW( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
|
||||||
RegCloseKey( hKey );
|
RegCloseKey( hKey );
|
||||||
}
|
}
|
||||||
if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf), wszSystemIni))
|
if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf) / sizeof(buf[0]), wszSystemIni))
|
||||||
for (s = buf; *s; s += strlenW(s) + 1) cnt++;
|
for (s = buf; *s; s += strlenW(s) + 1) cnt++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1896,7 +1896,7 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParm
|
||||||
RegCloseKey( hKey );
|
RegCloseKey( hKey );
|
||||||
}
|
}
|
||||||
if (!s) {
|
if (!s) {
|
||||||
if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf), wszSystemIni)) {
|
if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf) / sizeof(buf[0]), wszSystemIni)) {
|
||||||
for (p = buf; *p; p += strlenW(p) + 1, cnt++) {
|
for (p = buf; *p; p += strlenW(p) + 1, cnt++) {
|
||||||
TRACE("%ld: %s\n", cnt, debugstr_w(p));
|
TRACE("%ld: %s\n", cnt, debugstr_w(p));
|
||||||
if (cnt == lpParms->dwNumber - 1) {
|
if (cnt == lpParms->dwNumber - 1) {
|
||||||
|
|
Loading…
Reference in New Issue