From c675bf428093220cee33e89765570624c413e85b Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Mon, 4 Jul 2011 09:26:30 +0900 Subject: [PATCH] Fixes issue 23 --- src/main/java/org/xerial/snappy/SnappyInputStream.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/xerial/snappy/SnappyInputStream.java b/src/main/java/org/xerial/snappy/SnappyInputStream.java index ed2789d..a99672e 100755 --- a/src/main/java/org/xerial/snappy/SnappyInputStream.java +++ b/src/main/java/org/xerial/snappy/SnappyInputStream.java @@ -170,7 +170,13 @@ public class SnappyInputStream extends InputStream if (compressed == null || chunkSize > compressed.length) { compressed = new byte[chunkSize]; } - int readBytes = in.read(compressed, 0, chunkSize); + int readBytes = 0; + while (readBytes < chunkSize) { + int ret = in.read(compressed, readBytes, chunkSize - readBytes); + if (ret == -1) + break; + readBytes += ret; + } if (readBytes < chunkSize) { throw new IOException("failed to read chunk"); }