mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-13 15:39:05 +01:00
Limit decimal range of numbers ParseScript accepts
This commit is contained in:
@@ -121,9 +121,9 @@
|
||||
["8388608", "SIZE 4 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["2147483647", "SIZE 4 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["2147483648", "SIZE 5 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["549755813887", "SIZE 5 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["549755813888", "SIZE 6 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["9223372036854775807", "SIZE 8 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x05ffffffff7f", "SIZE 5 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x06000000008000", "SIZE 6 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x08ffffffffffffff7f", "SIZE 8 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-1", "SIZE 1 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-127", "SIZE 1 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-128", "SIZE 2 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
@@ -133,9 +133,9 @@
|
||||
["-8388608", "SIZE 4 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-2147483647", "SIZE 4 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-2147483648", "SIZE 5 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-549755813887", "SIZE 5 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-549755813888", "SIZE 6 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-9223372036854775807", "SIZE 8 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x05ffffffffff", "SIZE 5 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x06000000008080", "SIZE 6 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x08ffffffffffffffff", "SIZE 8 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["'abcdefghijklmnopqrstuvwxyz'", "SIZE 26 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
|
||||
["42", "SIZE 1 EQUALVERIFY 42 EQUAL", "P2SH,STRICTENC", "OK", "SIZE does not consume argument"],
|
||||
@@ -360,9 +360,9 @@
|
||||
["8388608", "0x04 0x00008000 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["2147483647", "0x04 0xFFFFFF7F EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["2147483648", "0x05 0x0000008000 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["549755813887", "0x05 0xFFFFFFFF7F EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["549755813888", "0x06 0x000000008000 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["9223372036854775807", "0x08 0xFFFFFFFFFFFFFF7F EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x05ffffffff7f", "0x05 0xFFFFFFFF7F EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x06000000008000", "0x06 0x000000008000 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x08ffffffffffffff7f", "0x08 0xFFFFFFFFFFFFFF7F EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-1", "0x01 0x81 EQUAL", "P2SH,STRICTENC", "OK", "Numbers are little-endian with the MSB being a sign bit"],
|
||||
["-127", "0x01 0xFF EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-128", "0x02 0x8080 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
@@ -373,9 +373,9 @@
|
||||
["-2147483647", "0x04 0xFFFFFFFF EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-2147483648", "0x05 0x0000008080 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-4294967295", "0x05 0xFFFFFFFF80 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-549755813887", "0x05 0xFFFFFFFFFF EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-549755813888", "0x06 0x000000008080 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["-9223372036854775807", "0x08 0xFFFFFFFFFFFFFFFF EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x05ffffffffff", "0x05 0xFFFFFFFFFF EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x06000000008080", "0x06 0x000000008080 EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
["0x08ffffffffffffffff", "0x08 0xFFFFFFFFFFFFFFFF EQUAL", "P2SH,STRICTENC", "OK"],
|
||||
|
||||
["2147483647", "1ADD 2147483648 EQUAL", "P2SH,STRICTENC", "OK", "We can do math on 4-byte integers, and compare 5-byte ones"],
|
||||
["2147483647", "1ADD 1", "P2SH,STRICTENC", "OK"],
|
||||
@@ -2521,7 +2521,7 @@
|
||||
["-1", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "NEGATIVE_LOCKTIME", "CSV automatically fails if stack top is negative"],
|
||||
["0x0100", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY,MINIMALDATA", "UNKNOWN_ERROR", "CSV fails if stack top is not minimally encoded"],
|
||||
["0", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "UNSATISFIED_LOCKTIME", "CSV fails if stack top bit 1 << 31 is set and the tx version < 2"],
|
||||
["4294967296", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "UNSATISFIED_LOCKTIME",
|
||||
["0x050000000001", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "UNSATISFIED_LOCKTIME",
|
||||
"CSV fails if stack top bit 1 << 31 is not set, and tx version < 2"],
|
||||
|
||||
["MINIMALIF tests"],
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"],
|
||||
|
||||
["Argument 2^32 with nLockTime=2^32-1"],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 CHECKLOCKTIMEVERIFY 1"]],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x050000000001 CHECKLOCKTIMEVERIFY 1"]],
|
||||
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"],
|
||||
|
||||
["Same, but with nLockTime=2^31-1"],
|
||||
|
||||
@@ -292,11 +292,11 @@
|
||||
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH,CHECKSEQUENCEVERIFY"],
|
||||
|
||||
["Argument 3<<31 with various nSequence"],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "6442450944 CHECKSEQUENCEVERIFY 1"]],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x050000008001 CHECKSEQUENCEVERIFY 1"]],
|
||||
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", "P2SH,CHECKSEQUENCEVERIFY"],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "6442450944 CHECKSEQUENCEVERIFY 1"]],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x050000008001 CHECKSEQUENCEVERIFY 1"]],
|
||||
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", "P2SH,CHECKSEQUENCEVERIFY"],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "6442450944 CHECKSEQUENCEVERIFY 1"]],
|
||||
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x050000008001 CHECKSEQUENCEVERIFY 1"]],
|
||||
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH,CHECKSEQUENCEVERIFY"],
|
||||
|
||||
["5 byte non-minimally-encoded operandss are valid"],
|
||||
|
||||
Reference in New Issue
Block a user