diff options
-rw-r--r-- | src/random.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/random.cpp b/src/random.cpp index fe5341ba5f..4cd6c9ddc1 100644 --- a/src/random.cpp +++ b/src/random.cpp @@ -19,6 +19,8 @@ #include <chrono> #include <thread> +#include <support/allocators/secure.h> + #ifndef WIN32 #include <fcntl.h> #include <sys/time.h> @@ -351,8 +353,8 @@ RNGState& GetRNGState() noexcept { // This C++11 idiom relies on the guarantee that static variable are initialized // on first call, even when multiple parallel calls are permitted. - static std::unique_ptr<RNGState> g_rng{new RNGState()}; - return *g_rng; + static std::vector<RNGState, secure_allocator<RNGState>> g_rng(1); + return g_rng[0]; } } |