aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-09-04 03:03:33 +0000
committerTom Tromey <tromey@redhat.com>2001-09-04 03:03:33 +0000
commitf83f8f8a1d32e0b1671adeb45322c4e4e752a634 (patch)
treec09eeac4ba57909e96654d46fbd936c7e6d47ce6
parent4cc3b46206f6cad6d88a53bae7d1f0d2c3117f71 (diff)
* java/lang/reflect/natField.cc (set): Allow for case when the
value is null. Fixes PR libgcj/4208. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@45367 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/lang/reflect/natField.cc5
2 files changed, 6 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 4c70701a62e..aba2dd3d8ee 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,7 +1,7 @@
-2001-09-02 Tom Tromey <tromey@redhat.com>
+2001-09-03 Tom Tromey <tromey@redhat.com>
- * java/security/spec/AlgorithmParameterSpec.java,
- java/security/spec/KeySpec.java: Re-merged with Classpath.
+ * java/lang/reflect/natField.cc (set): Allow for case when the
+ value is null. Fixes PR libgcj/4208.
* gcj/javaprims.h: Regenerated class list.
* java/lang/IllegalThreadStateException.java,
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc
index b627485b58b..3ca9293a816 100644
--- a/libjava/java/lang/reflect/natField.cc
+++ b/libjava/java/lang/reflect/natField.cc
@@ -418,9 +418,10 @@ java::lang::reflect::Field::setDouble (jclass caller, jobject obj, jdouble d)
}
void
-java::lang::reflect::Field::set (jclass caller, jobject object, jobject value, jclass type)
+java::lang::reflect::Field::set (jclass caller, jobject object, jobject value,
+ jclass type)
{
- if (! _Jv_IsInstanceOf (value, type))
+ if (value != NULL && ! _Jv_IsInstanceOf (value, type))
throw new java::lang::IllegalArgumentException;
void* addr = getAddr (this, caller, object);
* (jobject*) addr = value;