From c3d1bc33b598c19c6dab4de032953b770991098b Mon Sep 17 00:00:00 2001 From: Kaz Wesley Date: Mon, 18 Apr 2016 23:56:06 +0200 Subject: [PATCH] CBase58Data::SetString: cleanse the full vector SetString seems to be passing the length of the wrong variable to memory_cleanse, resulting in the last byte of the temporary buffer not being securely erased. Github-Pull: #7922 Rebased-From: 57704499be948c640c789c7fc11ed1abf8a681bd --- src/base58.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/base58.cpp b/src/base58.cpp index 5e26cf8d4..d59d459e0 100644 --- a/src/base58.cpp +++ b/src/base58.cpp @@ -172,7 +172,7 @@ bool CBase58Data::SetString(const char* psz, unsigned int nVersionBytes) vchData.resize(vchTemp.size() - nVersionBytes); if (!vchData.empty()) memcpy(&vchData[0], &vchTemp[nVersionBytes], vchData.size()); - memory_cleanse(&vchTemp[0], vchData.size()); + memory_cleanse(&vchTemp[0], vchTemp.size()); return true; }