From 2ac4355ec075fec77a8fbafd635fb4fefba81d4e Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 5 Nov 2018 17:44:23 +0100 Subject: [PATCH] ASM ClassReader leniently handles label offset mismatch (again) Issue: SPR-17467 --- .../src/main/java/org/springframework/asm/ClassReader.java | 5 +++++ 1 file changed, 5 insertions(+) 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 ccb7e21ecc8..4c7e04237e4 100644 --- a/spring-core/src/main/java/org/springframework/asm/ClassReader.java +++ b/spring-core/src/main/java/org/springframework/asm/ClassReader.java @@ -2437,6 +2437,11 @@ public class ClassReader { * @return a non null Label, which must be equal to labels[bytecodeOffset]. */ protected Label readLabel(final int bytecodeOffset, final Label[] labels) { + // SPRING PATCH: leniently handle offset mismatch + if (bytecodeOffset >= labels.length) { + return new Label(); + } + // END OF PATCH if (labels[bytecodeOffset] == null) { labels[bytecodeOffset] = new Label(); }