[ 
http://issues.apache.org/jira/browse/AXIS-2134?page=comments#action_12316859 ] 

Rodrigo Ruiz commented on AXIS-2134:
------------------------------------

Great, this works for me!

Only a question: Being sure that the result from the Math.min() call is an 
integer value, would not it be better to use a simple type-cast?

Something like:

int ret = (int)Math.min(Integer.MAX_VALUE, totalsz - bread);

Or there is any advantage in using the Long.intValue() method?

Thanks :-)
Rodrigo Ruiz

> ManagedMemoryDataSource does not correctly handle large attachments
> -------------------------------------------------------------------
>
>          Key: AXIS-2134
>          URL: http://issues.apache.org/jira/browse/AXIS-2134
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2.1
>  Environment: Not platform dependent
>     Reporter: Rodrigo Ruiz

>
> When trying to send an attachment larger than 2Gbytes, I get IndexOutOfBound 
> exceptions.
> I think the problem is in the ManagedMemoryDataSource.InStream class 
> implementation. I do not have access to the source CVS, so it's difficult to 
> me to provide a correct patch, but I can describe it:
> - The bread field should be a "long", instead of an "int"
> - The available() method should return Math.min(Integer.MAX_VALUE, totalsz - 
> bread), to ensure an integer is returned

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to