Author: gnodet Date: Mon Nov 16 21:30:39 2009 New Revision: 880967 URL: http://svn.apache.org/viewvc?rev=880967&view=rev Log: SSHD-57: SCPCommand erroneously assumes file lenghts fit in integers
Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java URL: http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java?rev=880967&r1=880966&r2=880967&view=diff ============================================================================== --- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java (original) +++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java Mon Nov 16 21:30:39 2009 @@ -225,7 +225,7 @@ } String perms = header.substring(1, 5); - int length = Integer.parseInt(header.substring(6, header.indexOf(' ', 6))); + long length = Long.parseLong(header.substring(6, header.indexOf(' ', 6))); String name = header.substring(header.indexOf(' ', 6) + 1); File file; @@ -244,7 +244,7 @@ byte[] buffer = new byte[8192]; while (length > 0) { - int len = Math.min(length, buffer.length); + int len = (int) Math.min(length, buffer.length); len = in.read(buffer, 0, len); if (len <= 0) { throw new IOException("End of stream reached");