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