- LoadStringW(hInst, IDS_MY_COMPUTER, szBuffer, COUNT_OF(szBuffer));
- wcscat(szBuffer, L"\\"); wcscat(szBuffer, rootName);
- wcscat(szBuffer, L"\\"); wcscat(szBuffer, keyPath);
-
- RegSetValueExW(hKey, L"LastKey", 0, REG_SZ, (LPBYTE)szBuffer, (DWORD)wcslen(szBuffer) * sizeof(WCHAR));
+ if (LoadStringW(hInst, IDS_MY_COMPUTER, szBuffer, COUNT_OF(szBuffer)) &&
+ SUCCEEDED(StringCbCatW(szBuffer, sizeof(szBuffer), L"\\")) &&
+ SUCCEEDED(StringCbCatW(szBuffer, sizeof(szBuffer), rootName)) &&
+ SUCCEEDED(StringCbCatW(szBuffer, sizeof(szBuffer), L"\\")) &&
+ SUCCEEDED(StringCbCatW(szBuffer, sizeof(szBuffer), keyPath)))
+ {
+ RegSetValueExW(hKey, L"LastKey", 0, REG_SZ, (LPBYTE)szBuffer, (DWORD)wcslen(szBuffer) * sizeof(WCHAR));
+ }