[ https://issues.apache.org/jira/browse/THRIFT-5299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
shuo li closed THRIFT-5299. --------------------------- Resolution: Won't Fix After reading other lang implementations, current impl is correct, though the specification should be cleaner. > rs implementation compact protocol varint implementation is wrong > ----------------------------------------------------------------- > > 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 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. -- This message was sent by Atlassian Jira (v8.3.4#803005)