This commit is contained in:
debris 2016-11-29 13:01:03 +01:00
parent d273048d08
commit 319323ee83
2 changed files with 19 additions and 0 deletions

View File

@ -50,6 +50,11 @@ impl Builder {
self
}
pub fn push_invalid_opcode(mut self) -> Self {
self.data.push(0xff);
self
}
pub fn into_script(self) -> Script {
Script::new(self.data)
}

View File

@ -1909,5 +1909,19 @@ mod tests {
let flags = VerificationFlags::default();
assert_eq!(verify_script(&input, &output, &flags, &checker), Ok(()));
}
#[test]
fn test_invalid_opcode_in_dead_execution_path_b83() {
let script = Builder::default()
.push_opcode(Opcode::OP_0)
.push_opcode(Opcode::OP_IF)
.push_invalid_opcode()
.push_opcode(Opcode::OP_ELSE)
.push_opcode(Opcode::OP_1)
.push_opcode(Opcode::OP_ENDIF)
.into_script();
let result = Err(Error::BadOpcode);
basic_test(&script, result, vec![].into());
}
}