mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:47:35 +00:00
LibX86: Make Instruction::length work for invalid instructions
This commit is contained in:
parent
ab1f28d566
commit
c5681e06c6
1 changed files with 2 additions and 1 deletions
|
@ -872,7 +872,7 @@ ALWAYS_INLINE unsigned Instruction::length() const
|
||||||
unsigned len = 1;
|
unsigned len = 1;
|
||||||
if (has_sub_op())
|
if (has_sub_op())
|
||||||
++len;
|
++len;
|
||||||
if (m_descriptor->has_rm) {
|
if (m_descriptor && m_descriptor->has_rm) {
|
||||||
++len;
|
++len;
|
||||||
if (m_modrm.m_has_sib)
|
if (m_modrm.m_has_sib)
|
||||||
++len;
|
++len;
|
||||||
|
@ -993,6 +993,7 @@ ALWAYS_INLINE Instruction::Instruction(InstructionStreamType& stream, OperandSiz
|
||||||
warnln("Instruction {:02X} not understood", m_op);
|
warnln("Instruction {:02X} not understood", m_op);
|
||||||
}
|
}
|
||||||
m_descriptor = nullptr;
|
m_descriptor = nullptr;
|
||||||
|
m_extra_bytes = prefix_bytes;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue