commit | 2221ee87b406cf1781f0a4f18914812db2256b01 | [log] [tgz] |
---|---|---|
author | Stefan Bodewig <bodewig@apache.org> | Fri Dec 06 05:22:12 2013 +0000 |
committer | Stefan Bodewig <bodewig@apache.org> | Fri Dec 06 05:22:12 2013 +0000 |
tree | 821476609646cbbca41176b6feeeaa070d89128f | |
parent | 74abef2129e28520c1cfffbfd90969da22e577b5 [diff] |
COMPRESS-245 TarArchiveInputStream might fail to read a stream if a single call to read() returns less than a full record git-svn-id: https://svn.apache.org/repos/asf/commons/proper/compress/trunk@1548380 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 7beddd5..a04a8dd 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml
@@ -52,6 +52,9 @@ due-to="Nico Kruber"> 7z reading of big 64bit values could be wrong. </action> + <action issue="COMPRESS-245" type="fix" date="2013-12-06"> + TarArchiveInputStream could fail to read an archive completely. + </action> </release> <release version="1.6" date="2013-10-26" description="Release 1.6">
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java index 8e66570..55cadf7 100644 --- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java +++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
@@ -385,7 +385,7 @@ byte[] record = new byte[recordSize]; - int readNow = is.read(record); + int readNow = IOUtils.readFully(is, record); count(readNow); if (readNow != recordSize) { return null;