From 01262f752d128fb5396a24400faaddcc45453692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Wei=C3=9F?= <leon.weiss@rub.de> Date: Mon, 26 Jun 2023 14:22:11 +0200 Subject: [PATCH] Handle index register of a memory operation being the pseudo-register RIZ/EIZ This should not adversely affect the rest of the logic as it is only ever entered in cases in which we would have asserted false before Enables us to instrument x509 --- irdb-libs/libIRDB-core/src/operand_csx86.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/irdb-libs/libIRDB-core/src/operand_csx86.cpp b/irdb-libs/libIRDB-core/src/operand_csx86.cpp index f7c421607..a6dd22caa 100644 --- a/irdb-libs/libIRDB-core/src/operand_csx86.cpp +++ b/irdb-libs/libIRDB-core/src/operand_csx86.cpp @@ -176,6 +176,9 @@ static uint32_t to_reg_number(const x86_reg ®) case X86_REG_R15D: case X86_REG_R15W: return 15; + case X86_REG_RIZ: + case X86_REG_EIZ: + return -1; // STARS_x86_R_none, RIZ/EIZ is a pseudo-register having constant value of 0 default: break; } assert(0); -- GitLab