Merge #8171: [RPC] Fix createrawtx sequence number unsigned int parsing

6fa950a [RPC] Fix createrawtx sequence number unsigned int parsing (Jonas Schnelli)
This commit is contained in:
Wladimir J. van der Laan
2016-06-16 11:05:32 +02:00
2 changed files with 21 additions and 2 deletions

View File

@@ -388,8 +388,13 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp)
// set the sequence number if passed in the parameters object
const UniValue& sequenceObj = find_value(o, "sequence");
if (sequenceObj.isNum())
nSequence = sequenceObj.get_int();
if (sequenceObj.isNum()) {
int64_t seqNr64 = sequenceObj.get_int64();
if (seqNr64 < 0 || seqNr64 > std::numeric_limits<uint32_t>::max())
throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, sequence number is out of range");
else
nSequence = (uint32_t)seqNr64;
}
CTxIn in(COutPoint(txid, nOutput), CScript(), nSequence);