# HG changeset patch # User Michael Pavone # Date 1494052874 25200 # Node ID 696a029d09e9f6b2343417c65de231a5e9f894d9 # Parent 6372de4da1799799910d4199318e22f7d43cbd3b Decode JMP or JSR with an invalid addressing mode as an invalid instruction diff -r 6372de4da179 -r 696a029d09e9 68kinst.c --- a/68kinst.c Fri May 05 22:08:30 2017 -0700 +++ b/68kinst.c Fri May 05 23:41:14 2017 -0700 @@ -904,7 +904,11 @@ } decoded->extra.size = OPSIZE_UNSIZED; istream = m68k_decode_op(istream, OPSIZE_UNSIZED, &(decoded->src)); - if (!istream) { + if ( + !istream + || (decoded->src.addr_mode < MODE_AREG_DISPLACE && decoded->src.addr_mode != MODE_AREG_INDIRECT) + || decoded->src.addr_mode == MODE_IMMEDIATE + ) { decoded->op = M68K_INVALID; break; }