From: Tom Tromey Date: Thu, 9 Mar 2006 20:21:58 +0000 (+0000) Subject: re PR libgcj/24461 (array access in either GZIPInputStream, Inflater, natInflate... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1fea4e6c4301b2b69d6e2fa72c3c62ffdc8cfb78;p=gcc.git 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 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 64df6b69ba7..bde6b45470e 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2006-03-09 Tom Tromey + + PR libgcj/24461: + * java/util/zip/InflaterInputStream.java (fill): Throw exception + if stream is truncated. + 2006-03-09 Tom Tromey * win32.cc (_Jv_platform_nanotime): New function. diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java index 69b3ecdfc18..11b06d24a28 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); } /**