diff options
-rw-r--r-- | src/base58.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/base58.h b/src/base58.h index 309d35f5d9..be8a541f67 100644 --- a/src/base58.h +++ b/src/base58.h @@ -17,11 +17,11 @@ #include <string> #include <vector> -#include <openssl/crypto.h> // for OPENSSL_cleanse() #include "bignum.h" #include "key.h" #include "script.h" +#include "allocators.h" static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; @@ -180,7 +180,8 @@ protected: unsigned char nVersion; // the actually encoded data - std::vector<unsigned char> vchData; + typedef std::vector<unsigned char, zero_after_free_allocator<unsigned char> > vector_uchar; + vector_uchar vchData; CBase58Data() { @@ -188,13 +189,6 @@ protected: vchData.clear(); } - ~CBase58Data() - { - // zero the memory, as it may contain sensitive data - if (!vchData.empty()) - OPENSSL_cleanse(&vchData[0], vchData.size()); - } - void SetData(int nVersionIn, const void* pdata, size_t nSize) { nVersion = nVersionIn; @@ -459,4 +453,4 @@ public: } }; -#endif +#endif // BITCOIN_BASE58_H |