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 2019/09/01 14:10:16 UTC

[commons-compress] 04/04: COMPRESS-491 avoid returning 0 from read in Deflat64 input stream

This is an automated email from the ASF dual-hosted git repository.

bodewig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git

commit 9eeea3f3c0b4abbdb357200d0f3ba8e4863545e7
Author: Stefan Bodewig <bo...@apache.org>
AuthorDate: Sun Sep 1 16:09:36 2019 +0200

    COMPRESS-491 avoid returning 0 from read in Deflat64 input stream
---
 .../commons/compress/compressors/deflate64/HuffmanDecoder.java       | 5 ++++-
 .../commons/compress/compressors/deflate64/HuffmanDecoderTest.java   | 3 ---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java b/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java
index 1df6e3c..62715f3 100644
--- a/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java
+++ b/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java
@@ -149,7 +149,10 @@ class HuffmanDecoder implements Closeable {
                     throw new IllegalStateException("Unsupported compression: " + mode);
                 }
             } else {
-                return state.read(b, off, len);
+                int r = state.read(b, off, len);
+                if (r != 0) {
+                    return r;
+                }
             }
         }
         return -1;
diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java
index 57249f0..bbfcd4c 100644
--- a/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java
@@ -214,9 +214,6 @@ public class HuffmanDecoderTest {
         assertEquals("Hello World\nHello World\nHello World\nHello World\n", new String(result, 0, len));
 
         len = decoder.decode(result);
-        assertEquals(0, len);
-
-        len = decoder.decode(result);
         assertEquals(-1, len);
     }
 }