diff --git a/spring-core/src/main/java/org/springframework/asm/ClassReader.java b/spring-core/src/main/java/org/springframework/asm/ClassReader.java index a0d26b5894c..316c14ecd5b 100644 --- a/spring-core/src/main/java/org/springframework/asm/ClassReader.java +++ b/spring-core/src/main/java/org/springframework/asm/ClassReader.java @@ -2182,6 +2182,11 @@ public class ClassReader { * @return a non null Label, which must be equal to labels[offset]. */ protected Label readLabel(int offset, Label[] labels) { + // SPRING PATCH: leniently handle offset mismatch + if (offset >= labels.length) { + return new Label(); + } + // END OF PATCH if (labels[offset] == null) { labels[offset] = new Label(); }