CBitcoinSecret::SetString() now calls IsValid() to make sure it was passed something with the correct version.

This commit is contained in:
Chris Moore 2012-04-12 13:13:08 -07:00
parent b7dc02381f
commit b3a6e613fc
2 changed files with 17 additions and 5 deletions

View file

@ -396,6 +396,16 @@ public:
return fExpectTestNet == fTestNet && (vchData.size() == 32 || (vchData.size() == 33 && vchData[32] == 1)); return fExpectTestNet == fTestNet && (vchData.size() == 32 || (vchData.size() == 33 && vchData[32] == 1));
} }
bool SetString(const char* pszSecret)
{
return CBase58Data::SetString(pszSecret) && IsValid();
}
bool SetString(const std::string& strSecret)
{
return SetString(strSecret.c_str());
}
CBitcoinSecret(const CSecret& vchSecret, bool fCompressed) CBitcoinSecret(const CSecret& vchSecret, bool fCompressed)
{ {
SetSecret(vchSecret, fCompressed); SetSecret(vchSecret, fCompressed);

View file

@ -14,6 +14,7 @@ static const string strSecret1 ("5HxWvvfubhXpYYpS3tJkw6fq9jE9j18THftkZjHHfmFiWtm
static const string strSecret2 ("5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3"); static const string strSecret2 ("5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3");
static const string strSecret1C("Kwr371tjA9u2rFSMZjTNun2PXXP3WPZu2afRHTcta6KxEUdm1vEw"); static const string strSecret1C("Kwr371tjA9u2rFSMZjTNun2PXXP3WPZu2afRHTcta6KxEUdm1vEw");
static const string strSecret2C("L3Hq7a8FEQwJkW1M2GNKDW28546Vp5miewcCzSqUD9kCAXrJdS3g"); static const string strSecret2C("L3Hq7a8FEQwJkW1M2GNKDW28546Vp5miewcCzSqUD9kCAXrJdS3g");
static const string strAddress1("1HV9Lc3sNHZxwj4Zk6fB38tEmBryq2cBiF");
#ifdef KEY_TESTS_DUMPINFO #ifdef KEY_TESTS_DUMPINFO
void dumpKeyInfo(uint256 privkey) void dumpKeyInfo(uint256 privkey)
@ -47,11 +48,12 @@ BOOST_AUTO_TEST_SUITE(key_tests)
BOOST_AUTO_TEST_CASE(key_test1) BOOST_AUTO_TEST_CASE(key_test1)
{ {
CBitcoinSecret bsecret1, bsecret2, bsecret1C, bsecret2C; CBitcoinSecret bsecret1, bsecret2, bsecret1C, bsecret2C, baddress1;
bsecret1.SetString (strSecret1); BOOST_CHECK( bsecret1.SetString (strSecret1));
bsecret2.SetString (strSecret2); BOOST_CHECK( bsecret2.SetString (strSecret2));
bsecret1C.SetString(strSecret1C); BOOST_CHECK( bsecret1C.SetString(strSecret1C));
bsecret2C.SetString(strSecret2C); BOOST_CHECK( bsecret2C.SetString(strSecret2C));
BOOST_CHECK(!baddress1.SetString(strAddress1));
bool fCompressed; bool fCompressed;
CSecret secret1 = bsecret1.GetSecret (fCompressed); CSecret secret1 = bsecret1.GetSecret (fCompressed);