diff options
| author | Cory Fields <[email protected]> | 2015-01-20 19:23:25 -0500 |
|---|---|---|
| committer | Cory Fields <[email protected]> | 2015-02-15 11:34:02 -0500 |
| commit | 1630219d906f592c9258bfe2a0e0c4923df35782 (patch) | |
| tree | 02b0ed9574290873f88bd0ebc1bd0a224c98e5b1 /src/allocators.h | |
| parent | Merge #5629: [Qt] prevent amount overflow problem with payment requests (diff) | |
| download | discoin-1630219d906f592c9258bfe2a0e0c4923df35782.tar.xz discoin-1630219d906f592c9258bfe2a0e0c4923df35782.zip | |
openssl: abstract out OPENSSL_cleanse
This makes it easier for us to replace it if desired, since it's now only in
one spot. Also, it avoids the openssl include from allocators.h, which
essentially forced openssl to be included from every compilation unit.
Diffstat (limited to 'src/allocators.h')
| -rw-r--r-- | src/allocators.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/allocators.h b/src/allocators.h index 6a131c351..8ffe015b9 100644 --- a/src/allocators.h +++ b/src/allocators.h @@ -6,6 +6,8 @@ #ifndef BITCOIN_ALLOCATORS_H #define BITCOIN_ALLOCATORS_H +#include "support/cleanse.h" + #include <map> #include <string> #include <string.h> @@ -14,8 +16,6 @@ #include <boost/thread/mutex.hpp> #include <boost/thread/once.hpp> -#include <openssl/crypto.h> // for OPENSSL_cleanse() - /** * Thread-safe class to keep track of locked (ie, non-swappable) memory pages. * @@ -174,7 +174,7 @@ void LockObject(const T& t) template <typename T> void UnlockObject(const T& t) { - OPENSSL_cleanse((void*)(&t), sizeof(T)); + memory_cleanse((void*)(&t), sizeof(T)); LockedPageManager::Instance().UnlockRange((void*)(&t), sizeof(T)); } @@ -217,7 +217,7 @@ struct secure_allocator : public std::allocator<T> { void deallocate(T* p, std::size_t n) { if (p != NULL) { - OPENSSL_cleanse(p, sizeof(T) * n); + memory_cleanse(p, sizeof(T) * n); LockedPageManager::Instance().UnlockRange(p, sizeof(T) * n); } std::allocator<T>::deallocate(p, n); @@ -254,7 +254,7 @@ struct zero_after_free_allocator : public std::allocator<T> { void deallocate(T* p, std::size_t n) { if (p != NULL) - OPENSSL_cleanse(p, sizeof(T) * n); + memory_cleanse(p, sizeof(T) * n); std::allocator<T>::deallocate(p, n); } }; |