From 06e5b2c3cef4f1c6219822cc82f28f8dcb88c403 Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 14 Aug 2024 00:00:51 -0400 Subject: [PATCH] fix: Warn when multianewarray has a zero-dimension arg --- .../assembler/compile/analysis/jvm/JvmAnalysisEngine.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/JvmAnalysisEngine.java b/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/JvmAnalysisEngine.java index 523ded4..aa381f4 100644 --- a/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/JvmAnalysisEngine.java +++ b/jasm-composition-jvm/src/main/java/me/darknet/assembler/compile/analysis/jvm/JvmAnalysisEngine.java @@ -222,7 +222,10 @@ public void execute(AllocateInstruction instruction) { @Override public void execute(AllocateMultiDimArrayInstruction instruction) { - frame.pop(instruction.dimensions()); // pop n values off the stack that fill in the dimension sizes + int dimensions = instruction.dimensions(); + if (dimensions <= 0) + warn(instruction, "multianewarray must have > 0 dimensions"); + frame.pop(dimensions); // pop n values off the stack that fill in the dimension sizes frame.pushType(instruction.type()); }