[DEVMGR] Avoid buffer overflow when device reg key size is > 100 chars

This commit is contained in:
Victor Perevertkin 2020-10-22 14:38:55 +03:00
parent bbe47e61b1
commit 953c03c336
No known key found for this signature in database
GPG key ID: C750B7222E9C7830

View file

@ -357,13 +357,15 @@ PVOID
GetResourceList(
LPWSTR pszDeviceID)
{
WCHAR szBuffer[100];
PCM_RESOURCE_LIST pResourceList = NULL;
HKEY hKey = NULL;
DWORD dwError, dwSize;
wsprintf(szBuffer, L"SYSTEM\\CurrentControlSet\\Enum\\%s\\LogConf", pszDeviceID);
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE, szBuffer, 0, KEY_READ, &hKey);
CStringW keyName = L"SYSTEM\\CurrentControlSet\\Enum\\";
keyName += pszDeviceID;
keyName += L"\\LogConf";
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE, keyName, 0, KEY_READ, &hKey);
if (dwError != ERROR_SUCCESS)
{
/* failed to open device instance log conf dir */