aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2003-08-26 14:55:30 +0000
committerTom Tromey <tromey@gcc.gnu.org>2003-08-26 14:55:30 +0000
commit0f56e0cc566602aa75928d725245bb1410772840 (patch)
treeb44023fb0f576551f0993cfa13bd63f4d2943047
parent288e517f6680f153e850413825d89bbb46f45e33 (diff)
downloadgcc-0f56e0cc566602aa75928d725245bb1410772840.zip
gcc-0f56e0cc566602aa75928d725245bb1410772840.tar.gz
gcc-0f56e0cc566602aa75928d725245bb1410772840.tar.bz2
re PR libgcj/12058 (java.lang.reflect.Array.set(Object, int, Object) throws java.lang.IllegalArgumentException)
PR java/12058: * java/lang/reflect/natArray.cc (set): Allow null as argument. From-SVN: r70813
-rw-r--r--libjava/ChangeLog3
-rw-r--r--libjava/java/lang/reflect/natArray.cc2
2 files changed, 4 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index c1f401d..25e337b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,8 @@
2003-08-26 Tom Tromey <tromey@redhat.com>
+ PR java/12058:
+ * java/lang/reflect/natArray.cc (set): Allow null as argument.
+
* java/lang/reflect/Proxy.java (ProxyData): `pack' now a String.
(ProxyData.getPackage): New method.
(ProxyData.getProxyData): Use package name, not Package.
diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc
index 9fa2ef7..ce76b9c 100644
--- a/libjava/java/lang/reflect/natArray.cc
+++ b/libjava/java/lang/reflect/natArray.cc
@@ -364,7 +364,7 @@ java::lang::reflect::Array::set (jobject array, jint index,
{
// We don't have to call getElementType here, or check INDEX,
// because it was already done in the Java wrapper.
- if (! _Jv_IsInstanceOf (value, elType))
+ if (value != NULL && ! _Jv_IsInstanceOf (value, elType))
throw new java::lang::IllegalArgumentException;
elements ((jobjectArray) array) [index] = value;
}