What's the best way to clear out this allocated memory?
- Is free/=NULL all that's needed
- Does SecureZeroMemory before doing a free/=NULL add to the security of the code?
- Or, is adding SecureZeroMemory overkill?
Here's my code:
DWORD tLen = 128;
BYTE *pbData = (BYTE *)malloc(tLen);
memcpy(pbData, chBuffer, tLen);
// ...work done here...
// Clear it
SecureZeroMemory(pbData, tLen);
free(pbData);pbData=NULL;
Thanks!
EDIT: This question is not a duplicate of the question some people have said it is. It is not asking when to use SecureZeroMemory, but the best practice when used with free/=NULL.