Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: java_lang_VMClass.c 6131 2006-12-06 22:15:57Z twisti $
-
*/
* Method: defineClass
* Signature: (Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
*/
-java_lang_Class *_Jv_java_lang_ClassLoader_defineClass(java_lang_ClassLoader *cl, java_lang_String *name, java_bytearray *data, s4 offset, s4 len, java_security_ProtectionDomain *pd)
+java_lang_Class *_Jv_java_lang_ClassLoader_defineClass(java_lang_ClassLoader *cl, java_lang_String *name, java_handle_bytearray_t *data, s4 offset, s4 len, java_security_ProtectionDomain *pd)
{
classloader *loader;
utf *utfname;
/* check the indexes passed */
- if ((offset < 0) || (len < 0) || ((offset + len) > data->header.size)) {
+ if ((offset < 0) || (len < 0) || ((offset + len) > LLNI_array_size(data))) {
exceptions_throw_arrayindexoutofboundsexception();
return NULL;
}
/* check if the JVMTI wants to modify the class */
if (new_class_data == NULL)
- c = class_define(utfname, loader, new_class_data_len, new_class_data);
+ c = class_define(utfname, loader, new_class_data_len, new_class_data, pd);
else
#endif
- c = class_define(utfname, loader, len, (const uint8_t *) &data->data[offset]);
+ c = class_define(utfname, loader, len, (const uint8_t *) &data->data[offset], pd);
if (c == NULL)
return NULL;
/* for convenience */
- o = (java_lang_Class *) c;
+ o = LLNI_classinfo_wrap(c);
#if defined(WITH_CLASSPATH_GNU)
/* set ProtectionDomain */