Merge #14940: test: Add test for truncated pushdata script
fa694f706c
test: Add tests for truncated scripts (MarcoFalke)
Pull request description:
Previously not covered by any test
Tree-SHA512: 9f99659bdf3947271074938456a2fe64f5b39fc868e9aa474cec199a536ae5d7428f1cfa7f361936b71b09ee4c426261e6b25668fa77b8416b30dbe4ddb357f0
This commit is contained in:
commit
57c9556095
1 changed files with 22 additions and 0 deletions
|
@ -1030,6 +1030,28 @@ BOOST_AUTO_TEST_CASE(script_PushData)
|
|||
BOOST_CHECK(EvalScript(pushdata4Stack, CScript(pushdata4, pushdata4 + sizeof(pushdata4)), SCRIPT_VERIFY_P2SH, BaseSignatureChecker(), SigVersion::BASE, &err));
|
||||
BOOST_CHECK(pushdata4Stack == directStack);
|
||||
BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err));
|
||||
|
||||
const std::vector<unsigned char> pushdata1_trunc{OP_PUSHDATA1, 1};
|
||||
const std::vector<unsigned char> pushdata2_trunc{OP_PUSHDATA2, 1, 0};
|
||||
const std::vector<unsigned char> pushdata4_trunc{OP_PUSHDATA4, 1, 0, 0, 0};
|
||||
|
||||
std::vector<std::vector<unsigned char>> stack_ignore;
|
||||
BOOST_CHECK(!EvalScript(stack_ignore, CScript(pushdata1_trunc.begin(), pushdata1_trunc.end()), SCRIPT_VERIFY_P2SH, BaseSignatureChecker(), SigVersion::BASE, &err));
|
||||
BOOST_CHECK_EQUAL(err, SCRIPT_ERR_BAD_OPCODE);
|
||||
BOOST_CHECK(!EvalScript(stack_ignore, CScript(pushdata2_trunc.begin(), pushdata2_trunc.end()), SCRIPT_VERIFY_P2SH, BaseSignatureChecker(), SigVersion::BASE, &err));
|
||||
BOOST_CHECK_EQUAL(err, SCRIPT_ERR_BAD_OPCODE);
|
||||
BOOST_CHECK(!EvalScript(stack_ignore, CScript(pushdata4_trunc.begin(), pushdata4_trunc.end()), SCRIPT_VERIFY_P2SH, BaseSignatureChecker(), SigVersion::BASE, &err));
|
||||
BOOST_CHECK_EQUAL(err, SCRIPT_ERR_BAD_OPCODE);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(script_cltv_truncated)
|
||||
{
|
||||
const auto script_cltv_trunc = CScript() << OP_CHECKLOCKTIMEVERIFY;
|
||||
|
||||
std::vector<std::vector<unsigned char>> stack_ignore;
|
||||
ScriptError err;
|
||||
BOOST_CHECK(!EvalScript(stack_ignore, script_cltv_trunc, SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY, BaseSignatureChecker(), SigVersion::BASE, &err));
|
||||
BOOST_CHECK_EQUAL(err, SCRIPT_ERR_INVALID_STACK_OPERATION);
|
||||
}
|
||||
|
||||
static CScript
|
||||
|
|
Loading…
Reference in a new issue