PatchSet 7244 
Date: 2006/04/18 22:11:00
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
fix for reflection: creating Arrays of negative size should throw an exceptin

2006-04-19  Dalibor Topic  <[EMAIL PROTECTED]>

* libraries/clib/native/java_lang_reflect_VMArray.c
(Java_java_lang_reflect_VMArray_createObjectArray): Renamed to ...
(Java_java_lang_reflect_VMArray_createObjectArray0).

* libraries/javalib/vmspecific/java/lang/reflect/VMArray.java:
(createObjectArray) Check if dim is negative and throw
NegativeArraySizeException accordingly.
(createObjectArray0) New native method.

Members: 
        ChangeLog:1.4749->1.4750 
        libraries/clib/native/java_lang_reflect_VMArray.c:1.1->1.2 
        libraries/javalib/vmspecific/java/lang/reflect/VMArray.java:1.1->1.2 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4749 kaffe/ChangeLog:1.4750
--- kaffe/ChangeLog:1.4749      Tue Apr 18 20:58:58 2006
+++ kaffe/ChangeLog     Tue Apr 18 22:11:00 2006
@@ -1,3 +1,14 @@
+2006-04-19  Dalibor Topic  <[EMAIL PROTECTED]>
+
+       * libraries/clib/native/java_lang_reflect_VMArray.c 
+       (Java_java_lang_reflect_VMArray_createObjectArray): Renamed to ...
+       (Java_java_lang_reflect_VMArray_createObjectArray0).
+
+       * libraries/javalib/vmspecific/java/lang/reflect/VMArray.java: 
+       (createObjectArray) Check if dim is negative and throw 
+       NegativeArraySizeException accordingly.
+       (createObjectArray0) New native method.
+       
 2006-04-18 Dalibor Topic  <[EMAIL PROTECTED]>
 
        * libraries/javalib/vmspecific/java/lang/reflect/Field.java
Index: kaffe/libraries/clib/native/java_lang_reflect_VMArray.c
diff -u kaffe/libraries/clib/native/java_lang_reflect_VMArray.c:1.1 
kaffe/libraries/clib/native/java_lang_reflect_VMArray.c:1.2
--- kaffe/libraries/clib/native/java_lang_reflect_VMArray.c:1.1 Mon Apr  3 
00:50:30 2006
+++ kaffe/libraries/clib/native/java_lang_reflect_VMArray.c     Tue Apr 18 
22:11:06 2006
@@ -53,7 +53,7 @@
  * Signature: (Ljava/lang/Class;I)Ljava/lang/Object;
  */
 JNIEXPORT jobject JNICALL
-Java_java_lang_reflect_VMArray_createObjectArray
+Java_java_lang_reflect_VMArray_createObjectArray0
   (JNIEnv * env,
    jclass thisClass __attribute__ ((__unused__)),
    jclass arrayType, jint arrayLength)
Index: kaffe/libraries/javalib/vmspecific/java/lang/reflect/VMArray.java
diff -u kaffe/libraries/javalib/vmspecific/java/lang/reflect/VMArray.java:1.1 
kaffe/libraries/javalib/vmspecific/java/lang/reflect/VMArray.java:1.2
--- kaffe/libraries/javalib/vmspecific/java/lang/reflect/VMArray.java:1.1       
Mon Apr  3 00:51:36 2006
+++ kaffe/libraries/javalib/vmspecific/java/lang/reflect/VMArray.java   Tue Apr 
18 22:11:06 2006
@@ -60,6 +60,15 @@
    * @throws NegativeArraySizeException if dim is negative
    * @throws OutOfMemoryError if memory allocation fails
    */
-  static native Object createObjectArray(Class type, int dim);
+  static Object createObjectArray(Class type, int dim)
+  {
+    if (dim < 0)
+      throw new NegativeArraySizeException("Can't create an array of " 
+                                          + type.getName() 
+                                          + " of length "
+                                          + dim);
+    return createObjectArray0(type, dim);
+  }
 
+  static native Object createObjectArray0(Class type, int dim);
 }

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to