Mercurial > repos > blastem
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) { |