diff options
Diffstat (limited to 'courgette/disassembler_win32_x64.cc')
-rw-r--r-- | courgette/disassembler_win32_x64.cc | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/courgette/disassembler_win32_x64.cc b/courgette/disassembler_win32_x64.cc index 04356d7..626bd35 100644 --- a/courgette/disassembler_win32_x64.cc +++ b/courgette/disassembler_win32_x64.cc @@ -514,15 +514,11 @@ CheckBool DisassemblerWin32X64::ParseNonSectionFileRegion( if (incomplete_disassembly_) return true; - const uint8* start = OffsetToPointer(start_file_offset); - const uint8* end = OffsetToPointer(end_file_offset); - - const uint8* p = start; - - while (p < end) { - if (!program->EmitByteInstruction(*p)) + if (end_file_offset > start_file_offset) { + if (!program->EmitBytesInstruction(OffsetToPointer(start_file_offset), + end_file_offset - start_file_offset)) { return false; - ++p; + } } return true; |