Index: libraries/clib/native/Class.c =================================================================== RCS file: /cvs/kaffe/kaffe/libraries/clib/native/Class.c,v retrieving revision 1.71 diff -u -r1.71 Class.c --- libraries/clib/native/Class.c 3 Apr 2004 02:57:46 -0000 1.71 +++ libraries/clib/native/Class.c 13 Apr 2004 09:42:52 -0000 @@ -281,13 +281,13 @@ } HArrayOfObject* -java_lang_Class_getSigners(struct Hjava_lang_Class* this) +java_lang_Class_getSigners(struct Hjava_lang_Class* this UNUSED) { unimp("java.lang.Class:getSigners unimplemented"); } void -java_lang_Class_setSigners(struct Hjava_lang_Class* this, HArrayOfObject* sigs) +java_lang_Class_setSigners(struct Hjava_lang_Class* this UNUSED, HArrayOfObject* sigs UNUSED) { unimp("java.lang.Class:setSigners unimplemented"); } @@ -714,7 +714,7 @@ int checkParameters(Method* mth, HArrayOfObject* argtypes) { - int i; + unsigned int i; errorInfo info; /* The JDK doc says and experimentation shows that a null second Index: libraries/clib/native/ClassLoader.c =================================================================== RCS file: /cvs/kaffe/kaffe/libraries/clib/native/ClassLoader.c,v retrieving revision 1.37 diff -u -r1.37 ClassLoader.c --- libraries/clib/native/ClassLoader.c 3 Nov 2003 05:29:33 -0000 1.37 +++ libraries/clib/native/ClassLoader.c 13 Apr 2004 09:42:52 -0000 @@ -43,7 +43,7 @@ { SignalError("java.lang.ClassFormatError", "truncated class"); } - classFileInit(&hand, &unhand_array(data)->body[offset], length, CP_BYTEARRAY); + classFileInit(&hand, &unhand_array(data)->body[offset], (unsigned) length, CP_BYTEARRAY); clazz = newClass(); if (clazz == 0) { @@ -116,7 +116,7 @@ * Resolve classes reference by this class. */ void -java_lang_ClassLoader_resolveClass0(struct Hjava_lang_ClassLoader* this, struct Hjava_lang_Class* class) +java_lang_ClassLoader_resolveClass0(struct Hjava_lang_ClassLoader* this UNUSED, struct Hjava_lang_Class* class) { errorInfo info; if (processClass(class, CSTATE_COMPLETE, &info) == false) { Index: libraries/clib/net/InetAddressImpl.c =================================================================== RCS file: /cvs/kaffe/kaffe/libraries/clib/net/InetAddressImpl.c,v retrieving revision 1.21 diff -u -r1.21 InetAddressImpl.c --- libraries/clib/net/InetAddressImpl.c 31 Dec 2003 15:57:24 -0000 1.21 +++ libraries/clib/net/InetAddressImpl.c 13 Apr 2004 09:42:53 -0000 @@ -123,7 +123,7 @@ */ HArrayOfArray* gnu_java_net_SysInetAddressImpl_getHostByName( - struct Hgnu_java_net_SysInetAddressImpl *this, + struct Hgnu_java_net_SysInetAddressImpl *this UNUSED, struct Hjava_lang_String* jStr) { #if defined(HAVE_GETADDRINFO) @@ -171,7 +171,7 @@ } retval = (HArrayOfArray *) - newArrayChecked(ObjectClass, count, &einfo); + newArrayChecked(ObjectClass, (size_t)count, &einfo); curr = ai; while( curr && retval ) { @@ -355,7 +355,7 @@ */ struct Hjava_lang_String* gnu_java_net_SysInetAddressImpl_getHostByAddr( - struct Hgnu_java_net_SysInetAddressImpl *this, + struct Hgnu_java_net_SysInetAddressImpl *this UNUSED, HArrayOfByte *addr) { #if defined(HAVE_GETADDRINFO) @@ -371,7 +371,7 @@ int iLockRoot; errorInfo einfo; char *hostname; - int sin_len; + unsigned int sin_len; hostname = gc_malloc(NI_MAXHOST, GC_ALLOC_FIXED); switch( addr->length ) Index: libraries/clib/security/digest.c =================================================================== RCS file: /cvs/kaffe/kaffe/libraries/clib/security/digest.c,v retrieving revision 1.6 diff -u -r1.6 digest.c --- libraries/clib/security/digest.c 19 Jun 2000 11:46:46 -0000 1.6 +++ libraries/clib/security/digest.c 13 Apr 2004 09:42:54 -0000 @@ -147,21 +147,21 @@ #else void JNICALL -Java_kaffe_security_provider_MD2_Init(JNIEnv *env, jobject this) +Java_kaffe_security_provider_MD2_Init(JNIEnv *env, jobject this UNUSED) { supportDisabled(env); } void JNICALL -Java_kaffe_security_provider_MD2_Update(JNIEnv *env, jobject this, - jbyteArray buf, jint off, jint len) +Java_kaffe_security_provider_MD2_Update(JNIEnv *env, jobject this UNUSED, + jbyteArray buf UNUSED, jint off UNUSED, jint len UNUSED) { supportDisabled(env); } void JNICALL -Java_kaffe_security_provider_MD2_Final(JNIEnv *env, jobject this, - jbyteArray buf, jint off) +Java_kaffe_security_provider_MD2_Final(JNIEnv *env, jobject this UNUSED, + jbyteArray buf UNUSED, jint off UNUSED) { supportDisabled(env); } @@ -275,21 +275,21 @@ #else void JNICALL -Java_kaffe_security_provider_MD4_Init(JNIEnv *env, jobject this) +Java_kaffe_security_provider_MD4_Init(JNIEnv *env, jobject this UNUSED) { supportDisabled(env); } void JNICALL -Java_kaffe_security_provider_MD4_Update(JNIEnv *env, jobject this, - jbyteArray buf, jint off, jint len) +Java_kaffe_security_provider_MD4_Update(JNIEnv *env, jobject this UNUSED, + jbyteArray buf UNUSED, jint off UNUSED, jint len UNUSED) { supportDisabled(env); } void JNICALL -Java_kaffe_security_provider_MD4_Final(JNIEnv *env, jobject this, - jbyteArray buf, jint off) +Java_kaffe_security_provider_MD4_Final(JNIEnv *env, jobject this UNUSED, + jbyteArray buf UNUSED, jint off UNUSED) { supportDisabled(env); } @@ -356,7 +356,7 @@ } /* Get data byte array data */ - if (off < 0 || off + len > (*env)->GetArrayLength(env, buf)) { + if (off < 0 || len < 0 || off + len > (*env)->GetArrayLength(env, buf)) { (*env)->ThrowNew(env, aiobClass, "out of range"); return; } @@ -366,7 +366,7 @@ } /* Update with new data and release array data */ - MD5Update((MD5_CTX *) ctxBytes, bufBytes + off, len); + MD5Update((MD5_CTX *) ctxBytes, bufBytes + off, (unsigned)len); (*env)->ReleaseByteArrayElements(env, ctxArray, ctxBytes, 0); (*env)->ReleaseByteArrayElements(env, buf, bufBytes, JNI_ABORT); } @@ -455,7 +455,7 @@ } /* Get data byte array data */ - if (off < 0 || off + len > (*env)->GetArrayLength(env, buf)) { + if (off < 0 || len < 0 || off + len > (*env)->GetArrayLength(env, buf)) { (*env)->ThrowNew(env, aiobClass, "out of range"); return; } @@ -465,7 +465,7 @@ } /* Update with new data and release array data */ - SHA1Update((SHA1_CTX *) ctxBytes, bufBytes + off, len); + SHA1Update((SHA1_CTX *) ctxBytes, bufBytes + off, (unsigned)len); (*env)->ReleaseByteArrayElements(env, ctxArray, ctxBytes, 0); (*env)->ReleaseByteArrayElements(env, buf, bufBytes, JNI_ABORT); } Index: libraries/clib/zip/Deflater.c =================================================================== RCS file: /cvs/kaffe/kaffe/libraries/clib/zip/Deflater.c,v retrieving revision 1.13 diff -u -r1.13 Deflater.c --- libraries/clib/zip/Deflater.c 2 Nov 2003 16:01:56 -0000 1.13 +++ libraries/clib/zip/Deflater.c 13 Apr 2004 09:42:55 -0000 @@ -28,13 +28,16 @@ java_util_zip_Deflater_setDictionary(struct Hjava_util_zip_Deflater* this, HArrayOfByte* buf, jint from, jint len) { int r; - z_stream* dstream; + z_stream* dstream; - dstream = GET_STREAM(this); + dstream = GET_STREAM(this); - r = deflateSetDictionary (dstream, &unhand_array(buf)->body[from], len); - if (r < 0) { - SignalError("java.lang.Error", dstream->msg ? dstream->msg : "unknown error"); + // XXX What happens if out of bounds ? + if (from >= 0 && len > 0 && from + len <= obj_length(buf)) { + r = deflateSetDictionary (dstream, &unhand_array(buf)->body[from], (unsigned)len); + if (r < 0) { + SignalError("java.lang.Error", dstream->msg ? dstream->msg : "unknown error"); + } } } @@ -43,9 +46,9 @@ { int r; int ilen; - z_stream* dstream; + z_stream* dstream; - dstream = GET_STREAM(this); + dstream = GET_STREAM(this); ilen = unhand(this)->len; @@ -117,13 +120,13 @@ } static voidpf -kaffe_zalloc(voidpf opaque, uInt items, uInt size) { +kaffe_zalloc(voidpf opaque UNUSED, uInt items, uInt size) { /* allocate through the garbage collector interface */ return KMALLOC(items*size); } static void -kaffe_zfree(voidpf opaque, voidpf address) { +kaffe_zfree(voidpf opaque UNUSED, voidpf address) { /* dispose through the garbage collector interface */ KFREE(address); } @@ -132,7 +135,7 @@ java_util_zip_Deflater_init(struct Hjava_util_zip_Deflater* this, jbool val) { int r; - z_stream* dstream; + z_stream* dstream; dstream = KMALLOC(sizeof(*dstream)); dstream->next_in = 0; Index: libraries/clib/zip/Inflater.c =================================================================== RCS file: /cvs/kaffe/kaffe/libraries/clib/zip/Inflater.c,v retrieving revision 1.12 diff -u -r1.12 Inflater.c --- libraries/clib/zip/Inflater.c 16 Aug 2002 18:04:31 -0000 1.12 +++ libraries/clib/zip/Inflater.c 13 Apr 2004 09:42:55 -0000 @@ -32,9 +32,12 @@ z_stream* dstream; dstream = GET_STREAM(this); - r = inflateSetDictionary (dstream, &unhand_array(buf)->body[from], len); - if (r < 0) { - SignalError("java.lang.Error", dstream->msg ? dstream->msg : "unknown error"); + // XXX What happens if out of bounds ? + if (from >= 0 && len > 0 && from + len <= obj_length(buf)) { + r = inflateSetDictionary (dstream, &unhand_array(buf)->body[from], (unsigned)len); + if (r < 0) { + SignalError("java.lang.Error", dstream->msg ? dstream->msg : "unknown error"); + } } } @@ -117,13 +120,13 @@ } static voidpf -kaffe_zalloc(voidpf opaque, uInt items, uInt size) { +kaffe_zalloc(voidpf opaque UNUSED, uInt items, uInt size) { /* allocate through the garbage collector interface */ return KMALLOC(items*size); } static void -kaffe_zfree(voidpf opaque, voidpf address) { +kaffe_zfree(voidpf opaque UNUSED, voidpf address) { /* dispose through the garbage collector interface */ KFREE(address); }