diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java index 60b817f929..a5604ec4a1 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java @@ -685,7 +685,9 @@ public class CreateThunkFunctionCmd extends BackgroundCommand { for (Iterator iterator = setRegisters.iterator(); iterator.hasNext();) { Varnode rvnode = iterator.next(); Register reg = program.getRegister(rvnode); - if (reg.isHidden()) { + // the register pcode access could have fallen in the middle of a valid register + // thus no register will exist at the varnode + if (reg != null && reg.isHidden()) { iterator.remove(); } }