# HG changeset patch # User Mike Pavone # Date 1357537494 28800 # Node ID 09761d4391e1b2a87ac7af0961c5a4ed06514198 # Parent e2918b5208ebc6fe5a38b12da7e8953e67489307 Make sure we bail out of translation after translating an invalid instruction diff -r e2918b5208eb -r 09761d4391e1 m68k_to_x86.c --- a/m68k_to_x86.c Sun Jan 06 21:42:57 2013 -0800 +++ b/m68k_to_x86.c Sun Jan 06 21:44:54 2013 -0800 @@ -3524,7 +3524,7 @@ //m68k_disasm(&instbuf, disbuf); //printf("%X: %s\n", instbuf.address, disbuf); dst = translate_m68k(dst, &instbuf, opts); - } while(instbuf.op != M68K_ILLEGAL && instbuf.op != M68K_TRAP && instbuf.op != M68K_RTS && instbuf.op != M68K_RTR && instbuf.op != M68K_RTE && !(instbuf.op == M68K_BCC && instbuf.extra.cond == COND_TRUE) && instbuf.op != M68K_JMP); + } while(instbuf.op != M68K_ILLEGAL && instbuf.op != M68K_INVALID && instbuf.op != M68K_TRAP && instbuf.op != M68K_RTS && instbuf.op != M68K_RTR && instbuf.op != M68K_RTE && !(instbuf.op == M68K_BCC && instbuf.extra.cond == COND_TRUE) && instbuf.op != M68K_JMP); process_deferred(opts); if (opts->deferred) { address = opts->deferred->address;