Browse Source

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.
0.13
Kaz Wesley 9 years ago
parent
commit
57704499be
  1. 2
      src/base58.cpp

2
src/base58.cpp

@ -177,7 +177,7 @@ bool CBase58Data::SetString(const char* psz, unsigned int nVersionBytes)
vchData.resize(vchTemp.size() - nVersionBytes); vchData.resize(vchTemp.size() - nVersionBytes);
if (!vchData.empty()) if (!vchData.empty())
memcpy(&vchData[0], &vchTemp[nVersionBytes], vchData.size()); memcpy(&vchData[0], &vchTemp[nVersionBytes], vchData.size());
memory_cleanse(&vchTemp[0], vchData.size()); memory_cleanse(&vchTemp[0], vchTemp.size());
return true; return true;
} }

Loading…
Cancel
Save