diff -r a7f649f8e860 -r 0697e38017ec langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Tue Mar 18 22:12:46 2014 +0000 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Wed Mar 19 11:34:27 2014 -0400 @@ -2501,6 +2501,8 @@ return; } catch (IOException ex) { throw badClassFile("unable.to.access.file", ex.getMessage()); + } catch (ArrayIndexOutOfBoundsException ex) { + throw badClassFile("bad.class.file", c.flatname); } finally { currentClassFile = previousClassFile; }