diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-23 19:17:22 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-23 19:17:22 +0000 |
| commit | 369305ac6a54d2a29402c0ec9b16ff30b44eee80 (patch) | |
| tree | 52e8fc029d0fc50bc88eadfb097bbbc2ea437d19 /libjava/prims.cc | |
| parent | e87dd429b4f2649989226014cd6a282f41417e26 (diff) | |
| download | ppe42-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/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 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. } |

