thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yerzhan Kaskabay (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (THRIFT-4563) TBinaryProtocol exits at first 0 or "/x00" byte.
Date Tue, 15 May 2018 01:33:00 GMT

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

Yerzhan Kaskabay closed THRIFT-4563.
------------------------------------
    Resolution: Fixed

> TBinaryProtocol exits at first 0 or "/x00" byte.
> ------------------------------------------------
>
>                 Key: THRIFT-4563
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4563
>             Project: Thrift
>          Issue Type: Bug
>          Components: Python - Library
>    Affects Versions: 0.11.0
>         Environment: python3.6
>            Reporter: Yerzhan Kaskabay
>            Priority: Blocker
>
> Tried to deserialize binary file using deserialize function in thrift.TSerialization.py
file. Used TBinaryProtocol and thrift file created by Java developer. Generated ttypes.py
have while loop that runs till break if byte=0.
> {color:#FF0000}while True:{color}
>             (fname, ftype, fid) = iprot.readFieldBegin()
>             {color:#FF0000}if ftype == TType.STOP:{color}
> {color:#FF0000}                break{color}
>             if fid == 1:
>                 if ftype == TType.I64:
>                     self.sessionId = iprot.readI64()
>                 else:
>                     iprot.skip(ftype)
>              ...
> As far as I understood protocol cannot have 0 byte and breaks when first 0 appears. Seems
as a bug for me! Isn't there more advanced way to check for the end of file?
>   
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message