diff --git a/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/AnalysisSimulation.java b/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/AnalysisSimulation.java index a45ef57..3ab569c 100644 --- a/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/AnalysisSimulation.java +++ b/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/AnalysisSimulation.java @@ -100,6 +100,8 @@ public void execute(JvmAnalysisEngine engine, AnalysisSimulation.Info met while (index < elementCount) { Frame oldFrame = frame.copy(); frame = frame.copy(); + if (index < 0) + throw new AnalysisException("Analysis jumped to invalid range: " + index); CodeElement element = elements.get(index); Frame existingFrame = engine.getFrame(index);