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

Victor updated THRIFT-5812:
---------------------------
    Description: 
I am trying to interact with a Rust Thrift server using a Java client. When 
using the sync client, the server misreads the length of the message and panics 
with a capacity overflow error. However, the async client works fine for some 
reason.

When the issue occurs, the server considers that the first four bytes are the 
length of the message (whereas those are actually the version, message type and 
seqid). It happens on both the compact and binary protocols.

I am not sure whether this is an issue on the Rust or Java side. Also I am 
reporting it on version 0.17.0 because it is the latest available version of 
thrift on crates.io.

See here for more details and a reproducible example: 
[https://github.com/victorbnl/thrift-rs-capacity-overflow].

  was:
I am trying to interact with a Rust Thrift server using a Java client. When 
using the sync client, the server misreads the length of the message and panics 
with a capacity overflow error. However, the async client works fine for some 
reason.

When the issue occurs, the server considers that the first four bytes are the 
length of the message (whereas those are actually the version, message type and 
seqid).

I am not sure whether this is an issue on the Rust or Java side. Also I am 
reporting it on version 0.17.0 because it is the latest available version of 
thrift on crates.io.

See here for more details and a reproducible example: 
https://github.com/victorbnl/thrift-rs-capacity-overflow.


> Capacity overflow in Rust server
> --------------------------------
>
>                 Key: THRIFT-5812
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5812
>             Project: Thrift
>          Issue Type: Bug
>          Components: Rust - Library
>    Affects Versions: 0.17.0
>            Reporter: Victor
>            Priority: Major
>
> I am trying to interact with a Rust Thrift server using a Java client. When 
> using the sync client, the server misreads the length of the message and 
> panics with a capacity overflow error. However, the async client works fine 
> for some reason.
> When the issue occurs, the server considers that the first four bytes are the 
> length of the message (whereas those are actually the version, message type 
> and seqid). It happens on both the compact and binary protocols.
> I am not sure whether this is an issue on the Rust or Java side. Also I am 
> reporting it on version 0.17.0 because it is the latest available version of 
> thrift on crates.io.
> See here for more details and a reproducible example: 
> [https://github.com/victorbnl/thrift-rs-capacity-overflow].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to