aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natClassLoader.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2006-03-07 21:39:44 +0000
committerTom Tromey <tromey@gcc.gnu.org>2006-03-07 21:39:44 +0000
commit9fe2e733d2819b630c747ad8d73332bc76552362 (patch)
tree8e8b3c0fcda7a66c350e08f6df600d9d7ed7c694 /libjava/java/lang/natClassLoader.cc
parent48fa30299933f7ef82154af03a325f34126e5240 (diff)
downloadgcc-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.cc5
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;
}