utility.cpp 402 B

123456789101112131415161718192021
  1. #include "utility.h"
  2. #ifdef _MSC_VER
  3. #include <Windows.h>
  4. #endif
  5. void SecureZero(void* pointer, size_t count) noexcept {
  6. #ifdef _MSC_VER
  7. SecureZeroMemory(pointer, count);
  8. #elif defined(memset_s)
  9. memset_s(pointer, count, 0, count);
  10. #else
  11. volatile char* vPointer = (volatile char*)pointer;
  12. while (count) {
  13. *vPointer = 0;
  14. vPointer++;
  15. count--;
  16. }
  17. #endif
  18. }