X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fallocators.h;h=bb72117b3378a7f94518a5916edbfeb9dffe39a2;hb=47d3ceb3da845e216fc9577cbf52f8b5600e5f93;hp=31ab21b99b2f42ef1658189d0c2dfa41481c63d3;hpb=713fd8a57b0f2b5f8f8158542e51f1c51919eb32;p=novacoin.git diff --git a/src/allocators.h b/src/allocators.h index 31ab21b..bb72117 100644 --- a/src/allocators.h +++ b/src/allocators.h @@ -9,12 +9,13 @@ #include #include #include +#include // for OPENSSL_cleanse() #ifdef WIN32 #ifdef _WIN32_WINNT #undef _WIN32_WINNT #endif -#define _WIN32_WINNT 0x0501 +#define _WIN32_WINNT 0x0601 #define WIN32_LEAN_AND_MEAN 1 #ifndef NOMINMAX #define NOMINMAX @@ -212,7 +213,7 @@ struct secure_allocator : public std::allocator { if (p != NULL) { - memset(p, 0, sizeof(T) * n); + OPENSSL_cleanse(p, sizeof(T) * n); LockedPageManager::instance.UnlockRange(p, sizeof(T) * n); } std::allocator::deallocate(p, n); @@ -246,7 +247,7 @@ struct zero_after_free_allocator : public std::allocator void deallocate(T* p, std::size_t n) { if (p != NULL) - memset(p, 0, sizeof(T) * n); + OPENSSL_cleanse(p, sizeof(T) * n); std::allocator::deallocate(p, n); } };