Roland Hänel created HTTPCORE-312:
-------------------------------------

             Summary: LengthDelimitedEncoder fails on content length > 32 bit
                 Key: HTTPCORE-312
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-312
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.2
            Reporter: Roland Hänel
            Priority: Critical


The LengthDelimitedEncoder class fails to deliver contents that are larger than 
2GB, because the write(final ByteBuffer src) method incorrectly calculates

   int lenRemaining = (int) (this.contentLength - this.len);

For example, if this.contentLength is 3,000,000,000 and this.len is 0, then 
lenRemaining will be negative and things will go wrong in the process.

Changing the line to

   long lenRemaining = this.contentLength - this.len;

will fix this bug (maybe src.remaining() needs to be casted to (long) in the 
following if statement).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to