diff options
author | Tom Tromey <tromey@redhat.com> | 2006-03-07 21:39:44 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2006-03-07 21:39:44 +0000 |
commit | 9fe2e733d2819b630c747ad8d73332bc76552362 (patch) | |
tree | 8e8b3c0fcda7a66c350e08f6df600d9d7ed7c694 /libjava/java/lang/natClassLoader.cc | |
parent | 48fa30299933f7ef82154af03a325f34126e5240 (diff) | |
download | gcc-9fe2e733d2819b630c747ad8d73332bc76552362.zip gcc-9fe2e733d2819b630c747ad8d73332bc76552362.tar.gz gcc-9fe2e733d2819b630c747ad8d73332bc76552362.tar.bz2 |
re PR libgcj/26103 (Wrong exception thrown)
PR libgcj/26103:
* java/lang/ClassLoader.java (loadClass): Don't throw
StringIndexOutOfBoundsException if name is empty.
* java/lang/natClassLoader.cc (loadClassFromSig): Throw exception
if class not found.
From-SVN: r111820
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index fa6f201..d22d6c2 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -81,7 +81,10 @@ java::lang::ClassLoader::loadClassFromSig(jstring name) int len = _Jv_GetStringUTFLength (name); char sig[len + 1]; _Jv_GetStringUTFRegion (name, 0, name->length(), sig); - return _Jv_FindClassFromSignature(sig, this); + jclass result = _Jv_FindClassFromSignature(sig, this); + if (result == NULL) + throw new ClassNotFoundException(name); + return result; } |