stricter tx deserialization: forbid negative output amount values
This commit is contained in:
@@ -536,6 +536,8 @@ def parse_output(vds, i):
|
||||
d['value'] = vds.read_int64()
|
||||
if d['value'] > TOTAL_COIN_SUPPLY_LIMIT_IN_BTC * COIN:
|
||||
raise SerializationError('invalid output amount (too large)')
|
||||
if d['value'] < 0:
|
||||
raise SerializationError('invalid output amount (negative)')
|
||||
scriptPubKey = vds.read_bytes(vds.read_compact_size())
|
||||
d['type'], d['address'] = get_address_from_output_script(scriptPubKey)
|
||||
d['scriptPubKey'] = bh2u(scriptPubKey)
|
||||
|
||||
Reference in New Issue
Block a user