Fixes #17149
Two classes of issues were found by the psbt fuzzer: values out of range and causing overflows, and prevout indexes being out of range. This PR fixes both.
When accessing a specific output using the index given in the tx, check that it is actually a possible output before trying to access the output.
When summing and checking amounts for decodepsbt
and analyzepsbt
, make sure that the values are actually valid money values.. Otherwise, stop summing and don’t show the fee. For analyzepsbt
, return that the next role is the Creator since the Creator needs to remake the transaction to be valid.