Prevent the instruction category from being overwritten after a fused call/pop has been recognised (#612)

* Prevent the instruction category from being overwritten after a
fused call/pop has been recognised

* Move assignment up and remove conditional
This commit is contained in:
Alex Cameron
2022-07-29 03:37:22 +10:00
committed by GitHub
parent eef338df00
commit 81f5f96ebb
+2 -1
View File
@@ -1046,6 +1046,8 @@ bool X86Arch::DecodeInstruction(uint64_t address, std::string_view inst_bytes,
return false;
}
inst.category = CreateCategory(xedd);
// Look for instruction fusing opportunities. For now, just `call; pop`.
const char *is_fused_call_pop = nullptr;
if (len < inst_bytes.size() &&
@@ -1072,7 +1074,6 @@ bool X86Arch::DecodeInstruction(uint64_t address, std::string_view inst_bytes,
}
}
inst.category = CreateCategory(xedd);
inst.next_pc = address + len + extra_len;
// Fiddle with the size of the bytes.