src/hotspot/share/classfile/classFileParser.cpp
changeset 55439 726cb89a9997
parent 55382 30b1b7b4dd86
parent 55437 360f8769d3dc
child 58221 b73753eff8b7
--- a/src/hotspot/share/classfile/classFileParser.cpp	Wed Jun 19 05:04:08 2019 -0800
+++ b/src/hotspot/share/classfile/classFileParser.cpp	Thu Jun 20 02:10:53 2019 +0200
@@ -4958,6 +4958,7 @@
 bool ClassFileParser::verify_unqualified_name(const char* name,
                                               unsigned int length,
                                               int type) {
+  if (length == 0) return false;  // Must have at least one char.
   for (const char* p = name; p != name + length; p++) {
     switch(*p) {
       case '.':
@@ -5107,7 +5108,7 @@
           int newlen = c - (char*) signature;
           bool legal = verify_unqualified_name(signature, newlen, LegalClass);
           if (!legal) {
-            classfile_parse_error("Class name contains illegal character "
+            classfile_parse_error("Class name is empty or contains illegal character "
                                   "in descriptor in class file %s",
                                   CHECK_0);
             return NULL;