thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "shuo li (Jira)" <j...@apache.org>
Subject [jira] [Updated] (THRIFT-5299) rs implementation compact protocol seq_id should not use zigzag encoding.
Date Thu, 29 Oct 2020 00:53:00 GMT

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

shuo li updated THRIFT-5299:
----------------------------
    Description: 
While reviewing code, I discovered a bug in compact protocol.

The seq_id in message header is decoded with integer-encoding's i32, which uses zigzag decode
implicitly. 

 

 

EDIT: correct the title and desc.

  was:
While reviewing code, I discovered a bug in compact protocol.

The length of byte is decoded with integer-encoding u32, which does not do zigzag decode first. 

The fix should be use i32 as decode, then convert to unsigned value.

In specification, it is explicitly specified that the length field is SIGNED.

        Summary: rs implementation compact protocol seq_id should not use zigzag encoding.
 (was: rs implementation compact protocol varint implementation is wrong)

> rs implementation compact protocol seq_id should not use zigzag encoding.
> -------------------------------------------------------------------------
>
>                 Key: THRIFT-5299
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5299
>             Project: Thrift
>          Issue Type: Bug
>          Components: Rust - Library
>    Affects Versions: 0.13.0
>            Reporter: shuo li
>            Priority: Major
>
> While reviewing code, I discovered a bug in compact protocol.
> The seq_id in message header is decoded with integer-encoding's i32, which uses zigzag
decode implicitly. 
>  
>  
> EDIT: correct the title and desc.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message