[PATCH] for bug #756(Ant doesn't work)

Takashi Okamoto toraneko at kun.ne.jp
Tue Mar 6 17:21:42 PST 2001


Hi, kaffe!! 

I made patch for bug #756 that Jakartra-Ant (Java Build tool) doesn't
work with Kaffe. Error occurs when buffer length (len) is 0 at
write(byte[] buf, int off, int len) method  in
java/util/zip/ZipOutputStream.java and java/util/zip/DeflateOutputStream.java

My patch throw IndexOutOfBoundsException() when offset (off) and
length (len) are invalid, and exit method when length is 0.
(I refered SUN's java/util/zip/* and modified them.)

Ant will be one of most important software for Java. 
Please fix this problem.

regards.
------------------
Takashi Okamoto

-----------------------------
diff -urN orig/libraries/javalib/java/util/zip/DeflaterOutputStream.java libraries/javalib/java/util/zip/DeflaterOutputStream.java
--- orig/libraries/javalib/java/util/zip/DeflaterOutputStream.java	Wed Mar  7 08:21:19 2001
+++ libraries/javalib/java/util/zip/DeflaterOutputStream.java	Wed Mar  7 08:09:32 2001
@@ -60,6 +60,11 @@
 }
 
 public void write(byte b[], int off, int len) throws IOException {
+        if ((off | len | (off + len) | (b.length - (off + len))) < 0) {
+	  throw new IndexOutOfBoundsException();
+        } else if (len == 0) {
+	  return;
+        }
 	def.setInput(b, off, len);
 	deflate();
 }
diff -urN orig/libraries/javalib/java/util/zip/ZipOutputStream.java libraries/javalib/java/util/zip/ZipOutputStream.java
--- orig/libraries/javalib/java/util/zip/ZipOutputStream.java	Wed Mar  7 08:20:57 2001
+++ libraries/javalib/java/util/zip/ZipOutputStream.java	Wed Mar  7 08:11:38 2001
@@ -321,6 +321,13 @@
 
 public synchronized void write(byte[] buf, int off, int len) throws IOException
 {
+       if ((off < 0) || (off > buf.length) || (len < 0) ||
+            ((off + len) > buf.length) || ((off + len) < 0)) {
+            throw new IndexOutOfBoundsException();
+        } else if (len == 0) {
+            return;
+        }
+
 	super.write(buf, off, len);
 	crc.update(buf, off, len);
 }





More information about the kaffe mailing list