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

Bret Curtis updated THRIFT-2757:
--------------------------------
    Description: 
On the TCompactProtocol, using i16, i32, i64 there is currently no range 
checking happening and funky results will happen as makeZigZag will do its best 
to handle the input.

I wrote a test case for this using i8, i16, i32 and i64 and the result was that 
the TJSONProtocol is also effected. It instead just took whatever value it was 
sent regardless of type.

I then wrote a check_boundary function to raise an exception when feed bad 
values in a certain bitness.  This now raises an exception for both protocols.

I also further built out the IWriteXX functions for the TJSONProtocol.

  was:
On the TCompactProtocol, using i16, i32, i64 there is currently no range 
checking happening and funky results will happen as makeZigZag will do its best 
to handle the input.

I wrote a test case for this using i8, i16, i32 and i64 and the result was that 
the TJSONProtocol is also effected. It instead just took whatever value it was 
sent regardless of type.

I then wrote a check_boundary function to raise an exception when feed bad 
values in a certain bitness.  This now currently raises an exception for both 
protocols.

I also further built out the IWriteXX functions for the TJSONProtocol.


> TCompactProtocol and TJSONProtocol need boundary checking
> ---------------------------------------------------------
>
>                 Key: THRIFT-2757
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2757
>             Project: Thrift
>          Issue Type: Bug
>          Components: Python - Library
>    Affects Versions: 0.9, 0.9.1, 0.9.2, 1.0
>            Reporter: Bret Curtis
>
> On the TCompactProtocol, using i16, i32, i64 there is currently no range 
> checking happening and funky results will happen as makeZigZag will do its 
> best to handle the input.
> I wrote a test case for this using i8, i16, i32 and i64 and the result was 
> that the TJSONProtocol is also effected. It instead just took whatever value 
> it was sent regardless of type.
> I then wrote a check_boundary function to raise an exception when feed bad 
> values in a certain bitness.  This now raises an exception for both protocols.
> I also further built out the IWriteXX functions for the TJSONProtocol.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to