Branch: refs/heads/master
Home: https://github.com/btcsuite/btcd
Commit: f284b9b3947eb33b91e31deec74936855feed61f
https://github.com/btcsuite/btcd/commit/f284b9b3947eb33b91e31deec74936855feed61f
Author: Dave Collins <[email protected]>
Date: 2015-05-05 (Tue, 05 May 2015)
Changed paths:
M txscript/data/script_valid.json
M txscript/opcode.go
Log Message:
-----------
txscript: Match Bitcoin Core OP_IFDUP behavior.
Unlike OP_IF and OP_NOTIF which interpret the top stack item as a
number, OP_IFDUP interprets it as a boolean. This has important
consequences because numbers are imited to int32s while booleans can be
an arbitrary number of bytes.
The offending script was found and reported by Jonas Nick through the
use of fuzzing.
Commit: edc0d15882451543e878444155f09526c8379555
https://github.com/btcsuite/btcd/commit/edc0d15882451543e878444155f09526c8379555
Author: Dave Collins <[email protected]>
Date: 2015-05-06 (Wed, 06 May 2015)
Changed paths:
M txscript/data/script_valid.json
M txscript/data/tx_invalid.json
M txscript/opcode.go
M txscript/stack.go
M txscript/stack_test.go
Log Message:
-----------
txscript: Consensus audit.
This commit contains fixes from the results of a thorough audit of
txscript to find any cases of script evaluation which doesn't match the
required consensus behavior. These conditions are fairly obscure and
highly unlikely to happen in any real scripts, but they could have
nevertheless been used by a clever attacker with malicious intent to
cause a fork.
Test cases which exercise these conditions have been added to the
reference tests and will contributed upstream to improve the quality for
the entire ecosystem.
Compare: https://github.com/btcsuite/btcd/compare/6801c0000a73...edc0d1588245