You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2012/09/17 18:27:07 UTC

[jira] [Updated] (HTTPCORE-312) LengthDelimitedEncoder fails on content length > 32 bit

     [ https://issues.apache.org/jira/browse/HTTPCORE-312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski updated HTTPCORE-312:
---------------------------------------

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