diff options
author | Chris Moore <dooglus@gmail.com> | 2012-04-12 13:13:08 -0700 |
---|---|---|
committer | Luke Dashjr <luke-jr+git@utopios.org> | 2012-04-15 13:31:50 -0400 |
commit | 7c3db2129e3d625e05ee56b3d07d12c0b6cfed92 (patch) | |
tree | f42df69bb984956816da3f07950dd2ab6e22f1f9 /src | |
parent | b7566fe29c2053843d2cec90a70fd699f5590391 (diff) | |
download | bitcoin-7c3db2129e3d625e05ee56b3d07d12c0b6cfed92.tar.xz |
CBitcoinSecret::SetString() now calls IsValid() to make sure it was passed something with the correct version.
Diffstat (limited to 'src')
-rw-r--r-- | src/base58.h | 10 | ||||
-rw-r--r-- | src/test/key_tests.cpp | 12 |
2 files changed, 17 insertions, 5 deletions
diff --git a/src/base58.h b/src/base58.h index 755e34c418..7fefbc5d74 100644 --- a/src/base58.h +++ b/src/base58.h @@ -396,6 +396,16 @@ public: 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) { SetSecret(vchSecret, fCompressed); diff --git a/src/test/key_tests.cpp b/src/test/key_tests.cpp index bc8759b6fa..a6dab623b0 100644 --- a/src/test/key_tests.cpp +++ b/src/test/key_tests.cpp @@ -14,6 +14,7 @@ static const string strSecret1 ("5HxWvvfubhXpYYpS3tJkw6fq9jE9j18THftkZjHHfmFiWtm static const string strSecret2 ("5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3"); static const string strSecret1C("Kwr371tjA9u2rFSMZjTNun2PXXP3WPZu2afRHTcta6KxEUdm1vEw"); static const string strSecret2C("L3Hq7a8FEQwJkW1M2GNKDW28546Vp5miewcCzSqUD9kCAXrJdS3g"); +static const string strAddress1("1HV9Lc3sNHZxwj4Zk6fB38tEmBryq2cBiF"); #ifdef KEY_TESTS_DUMPINFO void dumpKeyInfo(uint256 privkey) @@ -47,11 +48,12 @@ BOOST_AUTO_TEST_SUITE(key_tests) BOOST_AUTO_TEST_CASE(key_test1) { - CBitcoinSecret bsecret1, bsecret2, bsecret1C, bsecret2C; - bsecret1.SetString (strSecret1); - bsecret2.SetString (strSecret2); - bsecret1C.SetString(strSecret1C); - bsecret2C.SetString(strSecret2C); + CBitcoinSecret bsecret1, bsecret2, bsecret1C, bsecret2C, baddress1; + BOOST_CHECK( bsecret1.SetString (strSecret1)); + BOOST_CHECK( bsecret2.SetString (strSecret2)); + BOOST_CHECK( bsecret1C.SetString(strSecret1C)); + BOOST_CHECK( bsecret2C.SetString(strSecret2C)); + BOOST_CHECK(!baddress1.SetString(strAddress1)); bool fCompressed; CSecret secret1 = bsecret1.GetSecret (fCompressed); |