x86: LDS is invalid in x64. see #904
This commit is contained in:
parent
b7f9e75c3b
commit
ebc012f54f
|
@ -973,10 +973,14 @@ bool X86_getInstruction(csh ud, const uint8_t *code, size_t code_len,
|
|||
result = (!translateInstruction(instr, &insn)) ? true : false;
|
||||
if (result) {
|
||||
// quick fix for #904. TODO: fix this properly in the next update
|
||||
if (handle->mode & CS_MODE_64 &&
|
||||
(instr->Opcode == X86_LES16rm || instr->Opcode == X86_LES32rm))
|
||||
if (handle->mode & CS_MODE_64) {
|
||||
if (instr->Opcode == X86_LES16rm || instr->Opcode == X86_LES32rm)
|
||||
// LES is invalid in x64
|
||||
return false;
|
||||
if (instr->Opcode == X86_LDS16rm || instr->Opcode == X86_LDS32rm)
|
||||
// LDS is invalid in x64
|
||||
return false;
|
||||
}
|
||||
|
||||
instr->imm_size = insn.immSize;
|
||||
if (handle->detail) {
|
||||
|
|
Loading…
Reference in New Issue