diff options
author | Ben Woosley <ben.woosley@gmail.com> | 2018-06-08 11:16:07 -0700 |
---|---|---|
committer | Ben Woosley <ben.woosley@gmail.com> | 2018-08-07 12:47:39 -0400 |
commit | 5eb20f81d9568284dca735e4f770f41a48aa5660 (patch) | |
tree | b0cddba3e535af76c852d57816d84f5335b15a6d /src/wallet/rpcdump.cpp | |
parent | 56f69360dc98bd68704f19646a84d045788d199e (diff) | |
download | bitcoin-5eb20f81d9568284dca735e4f770f41a48aa5660.tar.xz |
Consistently use ParseHashV to validate hash inputs in rpc
ParseHashV validates the length and encoding of the string and throws
an informative RPC error on failure, which is as good or better than
these alternative calls.
Note I switched ParseHashV to check string length first, because
IsHex tests that the length is even, and an error like:
"must be of length 64 (not 63, for X)" is much more informative than
"must be hexadecimal string (not X)"
Diffstat (limited to 'src/wallet/rpcdump.cpp')
-rw-r--r-- | src/wallet/rpcdump.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/wallet/rpcdump.cpp b/src/wallet/rpcdump.cpp index d09af1dbd1..d08b80cc20 100644 --- a/src/wallet/rpcdump.cpp +++ b/src/wallet/rpcdump.cpp @@ -416,8 +416,7 @@ UniValue removeprunedfunds(const JSONRPCRequest& request) LOCK2(cs_main, pwallet->cs_wallet); - uint256 hash; - hash.SetHex(request.params[0].get_str()); + uint256 hash(ParseHashV(request.params[0], "txid")); std::vector<uint256> vHash; vHash.push_back(hash); std::vector<uint256> vHashOut; |