x86: LES is invalid in x64. see #904

This commit is contained in:
Nguyen Anh Quynh 2017-05-06 14:29:11 +08:00
parent f958e5fca4
commit 093ebf0646

View File

@ -953,6 +953,12 @@ 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))
// LES is invalid in x64
return false;
instr->imm_size = insn.immSize;
if (handle->detail) {
update_pub_insn(instr->flat_insn, &insn, instr->x86_prefix);