Off by one bug in com.sun/tools.javac.jvm.ClassReader

Remi Forax forax at univ-mlv.fr
Mon Sep 14 07:15:53 UTC 2015


Hi gang,
I think Andreas Stefik has found a bug in com.sun.tools.javac.jvm.ClassReader in the code that parse the LocalVariableTable
and try to guess that a variable is a parameter (to have a nice completion in NetBeans i suppose).

At line 1068 [1], the code should be 
  int newSize = Math.max(register + 1, parameterNameIndices.length + 8);
otherwise the line 1072 will throw an AIOOBE.

see this thread on the ASM mailing list for the whole story:
  http://mail.ow2.org/wws/arc/asm/2015-09/msg00005.html

cheers,
Rémi

http://hg.openjdk.java.net/jdk8u/jdk8u-dev/langtools/file/ebe1e9d17713/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java#l1068 


More information about the compiler-dev mailing list