From d0b0925be9f94068deb98940103a7b8a8c56f027 Mon Sep 17 00:00:00 2001 From: Philip Kaufmann Date: Fri, 9 Nov 2012 12:50:59 +0100 Subject: [PATCH] make CBase58Data class use zero_after_free_allocator - this way there is no need for an explicit destructor, who does the same thing anyway --- src/base58.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/base58.h b/src/base58.h index 309d35f5..be8a541f 100644 --- a/src/base58.h +++ b/src/base58.h @@ -17,11 +17,11 @@ #include #include -#include // 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 vchData; + typedef std::vector > 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