From b1f04ec182a1cfbdcfb6fbc52b0c45a0182494e5 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Sun, 6 Jan 2013 21:44:54 -0800 Subject: Make sure we bail out of translation after translating an invalid instruction --- m68k_to_x86.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'm68k_to_x86.c') diff --git a/m68k_to_x86.c b/m68k_to_x86.c index 1c13812..0561c4c 100644 --- a/m68k_to_x86.c +++ b/m68k_to_x86.c @@ -3524,7 +3524,7 @@ uint8_t * translate_m68k_stream(uint32_t address, m68k_context * context) //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; -- cgit v1.2.3