dims 2005/07/26 20:22:57
Modified: java/src/org/apache/axis/attachments
ManagedMemoryDataSource.java
Log:
Fix for AXIS-2134 - ManagedMemoryDataSource does not correctly handle large
attachments
from Rodrigo Ruiz
Revision Changes Path
1.37 +3 -3
ws-axis/java/src/org/apache/axis/attachments/ManagedMemoryDataSource.java
Index: ManagedMemoryDataSource.java
===================================================================
RCS file:
/home/cvs/ws-axis/java/src/org/apache/axis/attachments/ManagedMemoryDataSource.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- ManagedMemoryDataSource.java 1 Nov 2004 14:25:31 -0000 1.36
+++ ManagedMemoryDataSource.java 27 Jul 2005 03:22:57 -0000 1.37
@@ -487,7 +487,7 @@
private class Instream extends java.io.InputStream {
/** bytes read. */
- protected int bread = 0;
+ protected long bread = 0;
/** The real stream. */
java.io.FileInputStream fin = null;
@@ -540,8 +540,8 @@
throw new java.io.IOException(
Messages.getMessage("streamClosed"));
}
- // Will return neg. value when totalsz > 2Gb
- int ret = new Long(totalsz - bread).intValue();
+
+ int ret = new Long(Math.min(Integer.MAX_VALUE, totalsz -
bread)).intValue();
if (debugEnabled) {
is_log.debug("available() = " + ret + ".");