From a9e49900b72ad7bfedba4e9d864b52126a9a042e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Wei=C3=9F?= <leon.weiss@rub.de> Date: Thu, 19 Oct 2023 16:27:28 +0200 Subject: [PATCH] Fix jump table detection erroneously using an incomplete result --- irdb-libs/ir_builders/fill_in_indtargs.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/irdb-libs/ir_builders/fill_in_indtargs.cpp b/irdb-libs/ir_builders/fill_in_indtargs.cpp index 5edfa0583..1fa973a40 100644 --- a/irdb-libs/ir_builders/fill_in_indtargs.cpp +++ b/irdb-libs/ir_builders/fill_in_indtargs.cpp @@ -2845,6 +2845,11 @@ V2: << intermediate_write_instr->getDisassembly() << "' @ 0x" << hex << intermediate_write_instr->getAddress()->getVirtualOffset() << endl; } + // We have hit a dead end for now, restore initial state + // This is probably a move from memory, where the index was compared in memory + // or before moving it to memory (an example is shown in the known issues list below) + // TODO: Think about handling this case + search_start_instr = table_load_instruction; } } -- GitLab