summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-23 19:17:22 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-23 19:17:22 +0000
commit369305ac6a54d2a29402c0ec9b16ff30b44eee80 (patch)
tree52e8fc029d0fc50bc88eadfb097bbbc2ea437d19 /libjava
parente87dd429b4f2649989226014cd6a282f41417e26 (diff)
downloadppe42-gcc-369305ac6a54d2a29402c0ec9b16ff30b44eee80.tar.gz
ppe42-gcc-369305ac6a54d2a29402c0ec9b16ff30b44eee80.zip
2000-03-23 Jeff Sturm <jsturm@one-point.com>
* prims.cc (_Jv_FindClassFromSignature): Check return of recursive call. Do not abort on invalid signature; return NULL instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40787 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/prims.cc10
2 files changed, 13 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index a58e14b5160..5c24dd98221 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2000-03-23 Jeff Sturm <jsturm@one-point.com>
+
+ * prims.cc (_Jv_FindClassFromSignature): Check return of
+ recursive call. Do not abort on invalid signature; return NULL
+ instead.
+
2001-03-22 Tom Tromey <tromey@redhat.com>
* jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
diff --git a/libjava/prims.cc b/libjava/prims.cc
index f68b2f049ba..6cd9b0572f0 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -559,10 +559,14 @@ _Jv_FindClassFromSignature (char *sig, java::lang::ClassLoader *loader)
}
case '[':
- return _Jv_GetArrayClass (_Jv_FindClassFromSignature (&sig[1], loader),
- loader);
+ {
+ jclass klass = _Jv_FindClassFromSignature (&sig[1], loader);
+ if (! klass)
+ return NULL;
+ return _Jv_GetArrayClass (klass, loader);
+ }
}
- JvFail ("couldn't understand class signature");
+
return NULL; // Placate compiler.
}
OpenPOWER on IntegriCloud