comparison m68k_core.c @ 681:e26640daf1ae

Prevent an infinite loop when handling out of bounds addresses in translate_m68k_stream
author Michael Pavone <pavone@retrodev.com>
date Sun, 04 Jan 2015 23:21:56 -0800
parents 7f1b5570b2a1
children a61d33ccea7d
comparison
equal deleted inserted replaced
680:4996369f1463 681:e26640daf1ae
764 fflush(opts->address_log); 764 fflush(opts->address_log);
765 } 765 }
766 do { 766 do {
767 encoded = get_native_pointer(address, (void **)context->mem_pointers, &opts->gen); 767 encoded = get_native_pointer(address, (void **)context->mem_pointers, &opts->gen);
768 if (!encoded) { 768 if (!encoded) {
769 map_native_address(context, address, code->cur, 2, 1);
769 translate_out_of_bounds(code); 770 translate_out_of_bounds(code);
770 break; 771 break;
771 } 772 }
772 code_ptr existing = get_native_address(opts->gen.native_code_map, address); 773 code_ptr existing = get_native_address(opts->gen.native_code_map, address);
773 if (existing) { 774 if (existing) {