mirror of
https://github.com/SerenityOS/serenity
synced 2026-05-05 22:52:10 +02:00
LibX86: Make Instruction::length work for invalid instructions
This commit is contained in:
committed by
Andreas Kling
parent
ab1f28d566
commit
c5681e06c6
@@ -872,7 +872,7 @@ ALWAYS_INLINE unsigned Instruction::length() const
|
||||
unsigned len = 1;
|
||||
if (has_sub_op())
|
||||
++len;
|
||||
if (m_descriptor->has_rm) {
|
||||
if (m_descriptor && m_descriptor->has_rm) {
|
||||
++len;
|
||||
if (m_modrm.m_has_sib)
|
||||
++len;
|
||||
@@ -993,6 +993,7 @@ ALWAYS_INLINE Instruction::Instruction(InstructionStreamType& stream, OperandSiz
|
||||
warnln("Instruction {:02X} not understood", m_op);
|
||||
}
|
||||
m_descriptor = nullptr;
|
||||
m_extra_bytes = prefix_bytes;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user