aboutsummaryrefslogtreecommitdiff
path: root/src/rpcwallet.cpp
diff options
context:
space:
mode:
authorPhilip Kaufmann <phil.kaufmann@t-online.de>2013-10-23 16:19:49 +0200
committerPhilip Kaufmann <phil.kaufmann@t-online.de>2013-10-24 09:03:02 +0200
commit4315ec1a722a290ba2bb2b86080a787f6174e2a2 (patch)
tree40c2f81550f66be5cbc74da2451c68390cf5ca9e /src/rpcwallet.cpp
parent38fd11010795078ea1a4745f58fdf89e95e236c1 (diff)
RPC: error code changes and prevent crash with walletpassphrase
- fix crash with walletpassphrase by checking if RPC server is running and give a friendly error message how to fix this (fixes #3100) - add 3 new RPCErrorCodes RPC_SERVER_NOT_STARTED, RPC_NODE_ALREADY_ADDED and RCP_NODE_NOT_ADDED (I checked the source to not use a number already in use for RPC_SERVER_NOT_STARTED) - use the new codes where needed / missing - add missing use of RPC_INVALID_PARAMETER
Diffstat (limited to 'src/rpcwallet.cpp')
-rw-r--r--src/rpcwallet.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp
index 7aae9ddb73..fe22dfe54c 100644
--- a/src/rpcwallet.cpp
+++ b/src/rpcwallet.cpp
@@ -1271,7 +1271,7 @@ Value keypoolrefill(const Array& params, bool fHelp)
unsigned int kpSize = max(GetArg("-keypool", 100), 0LL);
if (params.size() > 0) {
if (params[0].get_int() < 0)
- throw JSONRPCError(-8, "Invalid parameter, expected valid size");
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid size");
kpSize = (unsigned int) params[0].get_int();
}
@@ -1301,6 +1301,8 @@ Value walletpassphrase(const Array& params, bool fHelp)
"Stores the wallet decryption key in memory for <timeout> seconds.");
if (fHelp)
return true;
+ if (!fServer)
+ throw JSONRPCError(RPC_SERVER_NOT_STARTED, "Error: RPC server was not started, use server=1 to change this.");
if (!pwalletMain->IsCrypted())
throw JSONRPCError(RPC_WALLET_WRONG_ENC_STATE, "Error: running with an unencrypted wallet, but walletpassphrase was called.");