diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-09 04:50:49 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-09 04:50:49 +0000 |
commit | 676db2415fb61564bc7dd7819325efb196c9f5d1 (patch) | |
tree | b38a57c29f2f7431998c23a31b1204a3dc189ea4 /libjava/java | |
parent | f764cb6072dc8a9a376c3183f08315893340ee63 (diff) | |
download | ppe42-gcc-676db2415fb61564bc7dd7819325efb196c9f5d1.tar.gz ppe42-gcc-676db2415fb61564bc7dd7819325efb196c9f5d1.zip |
* java/lang/reflect/natArray.cc (newInstance): Don't allow array
of `void' to be created.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32443 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/reflect/natArray.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc index e886f808bad..fd9536889dc 100644 --- a/libjava/java/lang/reflect/natArray.cc +++ b/libjava/java/lang/reflect/natArray.cc @@ -1,6 +1,6 @@ // natField.cc - Implementation of java.lang.reflect.Field native methods. -/* Copyright (C) 1999 Free Software Foundation +/* Copyright (C) 1999, 2000 Free Software Foundation This file is part of libgcj. @@ -29,7 +29,14 @@ jobject java::lang::reflect::Array::newInstance (jclass componentType, jint length) { if (componentType->isPrimitive()) - return _Jv_NewPrimArray (componentType, length); + { + // We could check for this in _Jv_NewPrimArray, but that seems + // like needless overhead when the only real route to this + // problem is here. + if (componentType == JvPrimClass (void)) + throw new java::lang::IllegalArgumentException (); + return _Jv_NewPrimArray (componentType, length); + } else return JvNewObjectArray (length, componentType, NULL); |