diff options
Diffstat (limited to 'libjava/java/lang/reflect')
-rw-r--r-- | libjava/java/lang/reflect/natField.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc index b627485..3ca9293 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; |