Browse Source

stricter tx deserialization: forbid negative output amount values

3.2.x
SomberNight 7 years ago
parent
commit
12c5474cf1
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 2
      lib/transaction.py

2
lib/transaction.py

@ -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)

Loading…
Cancel
Save