[rpc] ParseHash: Fail when length is not 64

This commit is contained in:
MarcoFalke 2016-10-30 16:58:13 +01:00
parent d2143dc937
commit fa326193ad

View File

@ -147,6 +147,8 @@ uint256 ParseHashV(const UniValue& v, string strName)
strHex = v.get_str(); strHex = v.get_str();
if (!IsHex(strHex)) // Note: IsHex("") is false if (!IsHex(strHex)) // Note: IsHex("") is false
throw JSONRPCError(RPC_INVALID_PARAMETER, strName+" must be hexadecimal string (not '"+strHex+"')"); throw JSONRPCError(RPC_INVALID_PARAMETER, strName+" must be hexadecimal string (not '"+strHex+"')");
if (64 != strHex.length())
throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("%s must be of length %d (not %d)", strName, 64, strHex.length()));
uint256 result; uint256 result;
result.SetHex(strHex); result.SetHex(strHex);
return result; return result;