From 7149c92e4b86119f2efbf542ac9d2452082829f6 Mon Sep 17 00:00:00 2001 From: caheckman <48068198+caheckman@users.noreply.github.com> Date: Thu, 2 Feb 2023 12:05:24 -0500 Subject: [PATCH] GP-3075 Don't filter segment op from switch analysis --- Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc b/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc index 38d6a2da1a..83fafbc0a9 100644 --- a/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc +++ b/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc @@ -577,6 +577,8 @@ bool Funcdata::earlyJumpTableFail(PcodeOp *op) return false; // Don't try to back track through injection if (dynamic_cast(userOp) != (JumpAssistOp *)0) return false; + if (dynamic_cast(userOp) != (SegmentOp *)0) + return false; if (outhit) return true; // Address formed via uninjected CALLOTHER, analysis will fail // Assume CALLOTHER will not interfere with address and continue backtracking