diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-01-28 18:38:10 +0100 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-01-28 18:38:31 +0100 |
commit | 6ebcec7d3c3532be840132d7d9345b82b3b93260 (patch) | |
tree | 6fb90ecba444da943d9c259c640fb48f8eed767b /src | |
parent | 7ff13ef2d2b8e18787202c117989022cf4f907a3 (diff) | |
parent | c7f933259623c87a9a3d116cc9bcfd75deb497da (diff) |
Merge pull request #3593
c7f9332 Add check for valid keys in `importprivkey` (Wladimir J. van der Laan)
Diffstat (limited to 'src')
-rw-r--r-- | src/rpcdump.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 726f23011b..f66dbc0eb0 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -101,9 +101,11 @@ Value importprivkey(const Array& params, bool fHelp) CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(strSecret); - if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key"); + if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key encoding"); CKey key = vchSecret.GetKey(); + if (!key.IsValid()) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Private key outside allowed range"); + CPubKey pubkey = key.GetPubKey(); CKeyID vchAddress = pubkey.GetID(); { |