diff --git a/CHANGES.txt b/CHANGES.txt index e607a0c106..7fb8cd8dac 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -292,6 +292,9 @@ Trunk (unreleased changes) HADOOP-7011. Fix KerberosName.main() to not throw an NPE. (Aaron T. Myers via tomwhite) + HADOOP-6975. Integer overflow in S3InputStream for blocks > 2GB. + (Patrick Kling via tomwhite) + Release 0.21.1 - Unreleased IMPROVEMENTS diff --git a/src/java/org/apache/hadoop/fs/s3/S3InputStream.java b/src/java/org/apache/hadoop/fs/s3/S3InputStream.java index 302174bf7e..ec3f150234 100644 --- a/src/java/org/apache/hadoop/fs/s3/S3InputStream.java +++ b/src/java/org/apache/hadoop/fs/s3/S3InputStream.java @@ -128,7 +128,7 @@ public synchronized int read(byte buf[], int off, int len) throws IOException { if (pos > blockEnd) { blockSeekTo(pos); } - int realLen = Math.min(len, (int) (blockEnd - pos + 1)); + int realLen = (int) Math.min((long) len, (blockEnd - pos + 1L)); int result = blockStream.read(buf, off, realLen); if (result >= 0) { pos += result;