[ 
https://issues.apache.org/jira/browse/THRIFT-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163410#comment-14163410
 ] 

Hudson commented on THRIFT-2757:
--------------------------------

FAILURE: Integrated in Thrift-Test #39 (See 
[https://builds.apache.org/job/Thrift-Test/39/])
THRIFT-2757: py - Added integer limits checks in compact and JSON protocols 
(hcorg: rev 93fea15b51494a79992a5323c803325537134bd8)
* .gitignore
* lib/py/src/protocol/TJSONProtocol.py
* lib/py/src/protocol/TCompactProtocol.py
* lib/py/src/protocol/TProtocol.py


> 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
>            Assignee: Konrad Grochowski
>             Fix For: 0.9.2
>
>
> 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. i8 (byte) is effected as it uses pack/unpack which 
> handles the case correctly.
> 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