aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2006-03-09 20:21:58 +0000
committerTom Tromey <tromey@gcc.gnu.org>2006-03-09 20:21:58 +0000
commit1fea4e6c4301b2b69d6e2fa72c3c62ffdc8cfb78 (patch)
tree414ca6a90249ad802ad690103f33743cda5d6ee1
parente59a1e40f318e53c11a069140e4380ca05dd75cd (diff)
downloadgcc-1fea4e6c4301b2b69d6e2fa72c3c62ffdc8cfb78.zip
gcc-1fea4e6c4301b2b69d6e2fa72c3c62ffdc8cfb78.tar.gz
gcc-1fea4e6c4301b2b69d6e2fa72c3c62ffdc8cfb78.tar.bz2
re PR libgcj/24461 (array access in either GZIPInputStream, Inflater, natInflate.cc, or zlib)
PR libgcj/24461: * java/util/zip/InflaterInputStream.java (fill): Throw exception if stream is truncated. From-SVN: r111870
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/util/zip/InflaterInputStream.java8
2 files changed, 11 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 64df6b6..bde6b45 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,11 @@
2006-03-09 Tom Tromey <tromey@redhat.com>
+ PR libgcj/24461:
+ * java/util/zip/InflaterInputStream.java (fill): Throw exception
+ if stream is truncated.
+
+2006-03-09 Tom Tromey <tromey@redhat.com>
+
* win32.cc (_Jv_platform_nanotime): New function.
* include/win32.h (_Jv_platform_nanotime): Declare.
* posix.cc (_Jv_platform_nanotime): New function.
diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java
index 69b3ecd..11b06d2 100644
--- a/libjava/java/util/zip/InflaterInputStream.java
+++ b/libjava/java/util/zip/InflaterInputStream.java
@@ -1,5 +1,5 @@
/* InflaterInputStream.java - Input stream filter for decompressing
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -153,8 +153,10 @@ public class InflaterInputStream extends FilterInputStream
len = in.read(buf, 0, buf.length);
- if (len >= 0)
- inf.setInput(buf, 0, len);
+ if (len < 0)
+ throw new ZipException("Deflated stream ends early.");
+
+ inf.setInput(buf, 0, len);
}
/**