diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-15 20:39:36 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-15 20:39:36 +0000 |
| commit | 9941784197f1bb6f28b29c44482170d9cab126ba (patch) | |
| tree | b9dde6a01520c0781831c2129ba55749d8fb4d33 /libjava/jni.cc | |
| parent | db9b8b36efb5f31021b3e00ce6d6bfb10beb8d59 (diff) | |
| download | ppe42-gcc-9941784197f1bb6f28b29c44482170d9cab126ba.tar.gz ppe42-gcc-9941784197f1bb6f28b29c44482170d9cab126ba.zip | |
* jni.cc (_Jv_JNI_AttachCurrentThread): Return error if malloc
fails.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31986 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/jni.cc')
| -rw-r--r-- | libjava/jni.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/jni.cc b/libjava/jni.cc index 6beb6f7f8a4..48c63b05bf1 100644 --- a/libjava/jni.cc +++ b/libjava/jni.cc @@ -1415,16 +1415,21 @@ _Jv_JNI_AttachCurrentThread (JavaVM *, jstring name, void **penv, void *args) if (_Jv_ThreadCurrent () != NULL) return 0; - // FIXME: NULL return? JNIEnv *env = (JNIEnv *) _Jv_MallocUnchecked (sizeof (JNIEnv)); + if (env == NULL) + return JNI_ERR; env->p = &_Jv_JNIFunctions; env->ex = NULL; env->klass = NULL; - // FIXME: NULL return? env->locals = (_Jv_JNI_LocalFrame *) _Jv_MallocUnchecked (sizeof (_Jv_JNI_LocalFrame) + (FRAME_SIZE * sizeof (jobject))); + if (env->locals == NULL) + { + _Jv_Free (env); + return JNI_ERR; + } *penv = reinterpret_cast<void *> (env); java::lang::Thread *t = new gnu::gcj::jni::NativeThread (group, name); |

