[
https://issues.apache.org/jira/browse/THRIFT-1698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18108571#comment-18108571
]
Dmytro Shteflyuk commented on THRIFT-1698:
------------------------------------------
Fixed by [THRIFT-6144|https://issues.apache.org/jira/browse/THRIFT-6144] in
0.25.0.
The merged change updates BaseTransport#read_all to raise
TransportException::END_OF_FILE when an initial or subsequent read returns nil
or an empty string, and includes a regression for the nil-read case reported
here.
Commit:
[0f4aa6ffb7a2dc8e955ad4782d06eda282d9711b|https://github.com/apache/thrift/commit/0f4aa6ffb7a2dc8e955ad4782d06eda282d9711b]
> BaseTransport is missing nil check in read_all
> ----------------------------------------------
>
> Key: THRIFT-1698
> URL: https://issues.apache.org/jira/browse/THRIFT-1698
> Project: Thrift
> Issue Type: Bug
> Components: Ruby - Library
> Affects Versions: 0.8
> Reporter: Kevin Radloff
> Priority: Minor
> Attachments: thrift.diff
>
>
> The code in BaseTransport#read_all does not check that the return value from
> #read is non-nil. I haven't checked all the transport classes, but I know
> this is possible from the IOStreamTransport. Either #read_all needs a nil
> check, or transport classes need to be modified to never return nil from
> their #read methods.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)