diff options
author | Tom Tromey <tromey@redhat.com> | 2001-11-26 06:40:06 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-11-26 06:40:06 +0000 |
commit | bea31ffbcb70ab3185f9c323952e3c35f3029326 (patch) | |
tree | 9c832cb85fa044528c84acb63e744ae94c2fc47d /libjava/include | |
parent | 4bdd26e6080d2eb035aeee8e6d7b1300cae32665 (diff) | |
download | gcc-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/include')
-rw-r--r-- | libjava/include/java-interp.h | 6 | ||||
-rw-r--r-- | libjava/include/jvm.h | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 8eeb094..bc1f3ca 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -33,12 +33,6 @@ _Jv_IsInterpretedClass (jclass c) struct _Jv_ResolvedMethod; -bool _Jv_VerifyFieldSignature (_Jv_Utf8Const*sig); -bool _Jv_VerifyMethodSignature (_Jv_Utf8Const*sig); -bool _Jv_VerifyClassName (unsigned char* ptr, _Jv_ushort length); -bool _Jv_VerifyClassName (_Jv_Utf8Const *name); -bool _Jv_VerifyIdentifier (_Jv_Utf8Const *); -bool _Jv_ClassNameSamePackage (_Jv_Utf8Const *name1, _Jv_Utf8Const *name2); void _Jv_DefineClass (jclass, jbyteArray, jint, jint); void _Jv_InitField (jobject, jclass, int); diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 858d960..1cba08c 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -341,6 +341,14 @@ void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *); struct _Jv_JavaVM; _Jv_JavaVM *_Jv_GetJavaVM (); +// Some verification functions from defineclass.cc. +bool _Jv_VerifyFieldSignature (_Jv_Utf8Const*sig); +bool _Jv_VerifyMethodSignature (_Jv_Utf8Const*sig); +bool _Jv_VerifyClassName (unsigned char* ptr, _Jv_ushort length); +bool _Jv_VerifyClassName (_Jv_Utf8Const *name); +bool _Jv_VerifyIdentifier (_Jv_Utf8Const *); +bool _Jv_ClassNameSamePackage (_Jv_Utf8Const *name1, _Jv_Utf8Const *name2); + #ifdef ENABLE_JVMPI #include "jvmpi.h" |