aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natClassLoader.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-11-26 06:40:06 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-11-26 06:40:06 +0000
commitbea31ffbcb70ab3185f9c323952e3c35f3029326 (patch)
tree9c832cb85fa044528c84acb63e744ae94c2fc47d /libjava/java/lang/natClassLoader.cc
parent4bdd26e6080d2eb035aeee8e6d7b1300cae32665 (diff)
downloadgcc-bea31ffbcb70ab3185f9c323952e3c35f3029326.zip
gcc-bea31ffbcb70ab3185f9c323952e3c35f3029326.tar.gz
gcc-bea31ffbcb70ab3185f9c323952e3c35f3029326.tar.bz2
Fix for PR libgcj/2024, plus other class name cleanups:
* include/jvm.h (_Jv_VerifyFieldSignature, _Jv_VerifyMethodSignature, _Jv_VerifyClassName, _Jv_VerifyIdentifier, _Jv_ClassNameSamePackage): Moved from ... * include/java-interp.h: ... here. * defineclass.cc (UTF8_PEEK): No longer conditional on interpreter. (_Jv_VerifyOne): Likewise. (_Jv_VerifyFieldSignature): Likewise. (_Jv_VerifyMethodSignature): Likewise. (is_identifier_start): Likewise. (is_identifier_part): Likewise. (_Jv_VerifyIdentifier): Likewise. (_Jv_VerifyClassName): Likewise. (_Jv_VerifyClassName): Likewise. (_Jv_ClassNameSamePackage): Likewise. (_Jv_VerifyClassName): Fail if class name is too long. * java/lang/natClassLoader.cc (_Jv_NewArrayClass): Disallow array of void. * java/lang/natClass.cc (forName): Check syntax of class name. Include IllegalArgumentException.h. From-SVN: r47334
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r--libjava/java/lang/natClassLoader.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index d94055e..c9a5872 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -598,7 +598,11 @@ _Jv_NewArrayClass (jclass element, java::lang::ClassLoader *loader,
return;
if (element->isPrimitive())
- len = 3;
+ {
+ if (element == JvPrimClass (void))
+ throw new java::lang::ClassNotFoundException ();
+ len = 3;
+ }
else
len = element->name->length + 5;