diff options
author | Jeff Sturm <jsturm@one-point.com> | 2001-03-23 19:17:22 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-03-23 19:17:22 +0000 |
commit | b64295c4d34897ecdc398d7cacbb8f292530713f (patch) | |
tree | 52e8fc029d0fc50bc88eadfb097bbbc2ea437d19 /libjava/prims.cc | |
parent | 83c64db681317c28239f07c5a8e6bb201834f0ba (diff) | |
download | gcc-b64295c4d34897ecdc398d7cacbb8f292530713f.zip gcc-b64295c4d34897ecdc398d7cacbb8f292530713f.tar.gz gcc-b64295c4d34897ecdc398d7cacbb8f292530713f.tar.bz2 |
prims.cc (_Jv_FindClassFromSignature): Check return of recursive call.
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.
From-SVN: r40787
Diffstat (limited to 'libjava/prims.cc')
-rw-r--r-- | libjava/prims.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libjava/prims.cc b/libjava/prims.cc index f68b2f0..6cd9b05 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. } |