Clean up logic in memory_cleanse() for MSVC

Commit fbf327b13868861c2877c5754caf5a9816f2603c ("Minimal code
changes to allow msvc compilation.") was indeed minimal in terms
of lines touched. But as a result of that minimalism it changed the
logic in memory_cleanse() to first call std::memset() and then
additionally the MSVC-specific SecureZeroMemory() function, and it
also moved a comment to the wrong location.

This commit removes the superfluous call to std::memset() on MSVC
and ensures that the comment is in the right position again.
This commit is contained in:
Tim Ruffing 2019-06-05 22:43:28 +02:00 committed by Jack Grigg
parent 2fcc466273
commit f27ff314e6
1 changed files with 3 additions and 3 deletions

View File

@ -30,14 +30,14 @@
*/
void memory_cleanse(void *ptr, size_t len)
{
#if defined(_MSC_VER)
SecureZeroMemory(ptr, len);
#else
std::memset(ptr, 0, len);
/* As best as we can tell, this is sufficient to break any optimisations that
might try to eliminate "superfluous" memsets. If there's an easy way to
detect memset_s, it would be better to use that. */
#if defined(_MSC_VER)
SecureZeroMemory(ptr, len);
#else
__asm__ __volatile__("" : : "r"(ptr) : "memory");
#endif
}