Browse Source
stricter tx deserialization: forbid negative output amount values
3.2.x
SomberNight
7 years ago
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
1 changed files with
2 additions and
0 deletions
-
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) |
|
|
|