diff --git a/asm-util/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java b/asm-util/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java index 63223d66bd0b18dc33ef1babce572050e3c529dc..b14782274619c372d6500c45421bfe61c03aa0b0 100644 --- a/asm-util/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java +++ b/asm-util/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java @@ -1199,7 +1199,10 @@ public class CheckMethodAdapter extends MethodVisitor { } else { checkMethodDescriptor(this.version, handle.getDesc()); } - checkMethodIdentifier(this.version, handle.getName(), "handle name"); + String handleName = handle.getName(); + if (!("".equals(handleName) && tag == Opcodes.H_NEWINVOKESPECIAL)) { + checkMethodIdentifier(this.version, handleName, "handle name"); + } } else if (value instanceof ConstantDynamic) { if ((version & 0xFFFF) < Opcodes.V11) { throw new IllegalArgumentException("ldc of a ConstantDynamic requires at least version 11");