hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roland Hänel (JIRA) <j...@apache.org>
Subject [jira] [Created] (HTTPCORE-312) LengthDelimitedEncoder fails on content length > 32 bit
Date Mon, 17 Sep 2012 16:09:07 GMT
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

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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message