summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-15 20:39:36 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-15 20:39:36 +0000
commit9941784197f1bb6f28b29c44482170d9cab126ba (patch)
treeb9dde6a01520c0781831c2129ba55749d8fb4d33 /libjava
parentdb9b8b36efb5f31021b3e00ce6d6bfb10beb8d59 (diff)
downloadppe42-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')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/jni.cc9
2 files changed, 12 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index eaec78d008e..49142ac3ada 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2000-02-15 Tom Tromey <tromey@cygnus.com>
+
+ * jni.cc (_Jv_JNI_AttachCurrentThread): Return error if malloc
+ fails.
+
2000-02-15 Bryce McKinlay <bryce@albatross.co.nz>
* NEWS: Updated.
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);
OpenPOWER on IntegriCloud