0

这是我的代码:

std::vector<WCHAR> sString(6);
DWORD dwSize= sString.size(); // dwSize is 6
SIZE_T dwSizeof=sizeof(sString); // dwSizeof is 16
StringCchCopy(sString.data(), dwSize, L"asdfa");  // a, s, d, f, a, \0
SecureZeroMemory(sString, dwSize);  // \0, \0, \0, f, a, \0
SecureZeroMemory(sString, dwSizeof);  // \0, \0, \0, \0, \0, \0

我应该在 SecureZeroMemory 的 size 参数中输入哪个值?如果我输入 dwSize,只有前三个字符变为 '\0'。如果我把 dwSizeof 全部清空,但那看起来像缓冲区溢出?

4

0 回答 0