OSDN Git Service

* defineclass.cc (_Jv_VerifyClassName): Verify array names
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Aug 1999 00:25:51 +0000 (00:25 +0000)
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Aug 1999 00:25:51 +0000 (00:25 +0000)
correctly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28606 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/defineclass.cc

index 24051fc..28512d3 100644 (file)
@@ -1,4 +1,9 @@
-1999-08-09  Anthony Green  <green@cygnus.com>
+1999-08-08  Anthony Green  <green@cygnus.com>
+
+       * defineclass.cc (_Jv_VerifyClassName): Verify array names
+       correctly.
+
+1999-08-08  Anthony Green  <green@cygnus.com>
 
        * gij.cc: New file.
 
@@ -30,7 +35,7 @@
        * NEWS: More news.
        * THANKS: More thanks.
 
-1999-08-09  Kresten Krab Thorup  <krab@gnu.org>
+1999-08-08  Kresten Krab Thorup  <krab@gnu.org>
 
        * resolve.cc (get_ffi_type_from_signature): Generate uint16 for
        jchar type.
index 09f8f47..e062fb2 100644 (file)
@@ -1414,6 +1414,14 @@ _Jv_VerifyClassName (unsigned char* ptr, _Jv_ushort length)
   unsigned char *limit = ptr+length;
   int ch;
 
+  if ('[' == UTF8_PEEK (ptr, limit))
+    {
+      if (! _Jv_VerifyOne (++ptr, limit, false))
+        throw_class_format_error ("erroneous class name");
+      else
+        return;
+    }
+
  next_level:
   do {
     if ((ch = UTF8_GET (ptr, limit))==-1)