The ZeroMemory() function was available in Visual C++ to fill blocks of memory with zeroes, say the password variable after authentication, or credit card details after authorization. That, however, wasn’t secure enough. The ZeroMemory function could easily get optimized out by the compiler, if the block of memory it filled was never used again. The compiler would observe that the memory being modified was never referenced again, and so silently ignore the call to ZeroMemory.
SecureZeroMemory fixes that problem. It ensures that the memory is filled with zeroes even if the memory is never used again.
SecureZeroMemory fixes that problem. It ensures that the memory is filled with zeroes even if the memory is never used again.