diff --git a/plugins/disassembler/source/content/views/view_disassembler.cpp b/plugins/disassembler/source/content/views/view_disassembler.cpp index 32e08efb7..f279bf53d 100644 --- a/plugins/disassembler/source/content/views/view_disassembler.cpp +++ b/plugins/disassembler/source/content/views/view_disassembler.cpp @@ -80,6 +80,9 @@ namespace hex::plugin::disasm { disassembly.push_back(instruction.value()); + if (instruction->size == 0 || instruction->size > code.size()) + break; + code = code.subspan(instruction->size); instructionDataAddress += instruction->size; instructionLoadAddress += instruction->size;