You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2014/08/22 06:07:59 UTC

svn commit: r1619661 - /commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java

Author: bodewig
Date: Fri Aug 22 04:07:58 2014
New Revision: 1619661

URL: http://svn.apache.org/r1619661
Log:
Inflater knows the amount of data it has written

Modified:
    commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java

Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java
URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java?rev=1619661&r1=1619660&r2=1619661&view=diff
==============================================================================
--- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java (original)
+++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java Fri Aug 22 04:07:58 2014
@@ -74,8 +74,6 @@ public class GzipCompressorInputStream e
     // CRC32 from uncompressed data
     private final CRC32 crc = new CRC32();
 
-    private long memberSize;
-
     // True once everything has been decompressed
     private boolean endReached = false;
 
@@ -231,7 +229,6 @@ public class GzipCompressorInputStream e
         // Reset
         inf.reset();
         crc.reset();
-        memberSize = 0;
 
         return true;
     }
@@ -292,7 +289,6 @@ public class GzipCompressorInputStream e
             }
 
             crc.update(b, off, ret);
-            memberSize += ret;
             off += ret;
             len -= ret;
             size += ret;
@@ -326,7 +322,7 @@ public class GzipCompressorInputStream e
                 // Uncompressed size modulo 2^32 (ISIZE in the spec)
                 long isize = readLittleEndianInt(inData);
 
-                if (isize != (memberSize & 0xffffffffl)) {
+                if (isize != (inf.getBytesWritten() & 0xffffffffl)) {
                     throw new IOException("Gzip-compressed data is corrupt"
                                           + "(uncompressed size mismatch)");
                 }