Repository: commons-compress
Updated Branches:
  refs/heads/master 0e831a16d -> b8101b95c


SnappyInputStream didn't count bytes read when sliding the window

may be related to COMPRESS-358


Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/9ae37525
Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/9ae37525
Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/9ae37525

Branch: refs/heads/master
Commit: 9ae37525134089dd0c9ee1cf8738192b70e0fc07
Parents: 0e831a1
Author: Stefan Bodewig <[email protected]>
Authored: Mon Jan 9 15:26:30 2017 +0100
Committer: Stefan Bodewig <[email protected]>
Committed: Mon Jan 9 15:26:30 2017 +0100

----------------------------------------------------------------------
 .../compressors/snappy/SnappyCompressorInputStream.java         | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-compress/blob/9ae37525/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java
 
b/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java
index 69bf619..781ebbf 100644
--- 
a/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java
+++ 
b/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java
@@ -168,6 +168,7 @@ public class SnappyCompressorInputStream extends 
CompressorInputStream {
             case 0x00:
 
                 length = readLiteralLength(b);
+                uncompressedBytesRemaining -= length;
 
                 if (expandLiteral(length)) {
                     return;
@@ -186,6 +187,7 @@ public class SnappyCompressorInputStream extends 
CompressorInputStream {
                  */
 
                 length = 4 + ((b >> 2) & 0x07);
+                uncompressedBytesRemaining -= length;
                 offset = (b & 0xE0) << 3;
                 offset |= readOneByte();
 
@@ -205,6 +207,7 @@ public class SnappyCompressorInputStream extends 
CompressorInputStream {
                  */
 
                 length = (b >> 2) + 1;
+                uncompressedBytesRemaining -= length;
 
                 offset = readOneByte();
                 offset |= readOneByte() << 8;
@@ -224,6 +227,7 @@ public class SnappyCompressorInputStream extends 
CompressorInputStream {
                  */
 
                 length = (b >> 2) + 1;
+                uncompressedBytesRemaining -= length;
 
                 offset = readOneByte();
                 offset |= readOneByte() << 8;
@@ -237,7 +241,6 @@ public class SnappyCompressorInputStream extends 
CompressorInputStream {
             }
 
             readNow -= length;
-            uncompressedBytesRemaining -= length;
         }
     }
 

Reply via email to