aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/jni.cc4
2 files changed, 8 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 06c1a1f..561f826 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2007-02-01 Marco Trudel <mtrudel@gmx.ch>
+
+ * jni.cc (_Jv_JNI_DeleteWeakGlobalRef): Check for NULL objects.
+
2007-02-07 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.jni/init.c: New file.
diff --git a/libjava/jni.cc b/libjava/jni.cc
index 07ef713..d71b16d 100644
--- a/libjava/jni.cc
+++ b/libjava/jni.cc
@@ -1750,6 +1750,10 @@ _Jv_JNI_NewWeakGlobalRef (JNIEnv *env, jobject obj)
void JNICALL
_Jv_JNI_DeleteWeakGlobalRef (JNIEnv *, jweak obj)
{
+ // JDK compatibility.
+ if (obj == NULL)
+ return;
+
using namespace gnu::gcj::runtime;
JNIWeakRef *ref = reinterpret_cast<JNIWeakRef *> (obj);
unmark_for_gc (ref, global_ref_table);