From: David Reiss Date: Tue, 9 Mar 2010 05:19:14 +0000 (+0000) Subject: THRIFT-661. java: Detect EOF in TIOStreamTransport X-Git-Tag: 0.3.0~100 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=bec15e5105cae849b8095210e6ed6deac09c443d;p=common%2Fthrift.git THRIFT-661. java: Detect EOF in TIOStreamTransport git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920659 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java b/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java index fa5b6d7b..c8cd1189 100644 --- a/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java +++ b/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java @@ -122,11 +122,16 @@ public class TIOStreamTransport extends TTransport { if (inputStream_ == null) { throw new TTransportException(TTransportException.NOT_OPEN, "Cannot read from null inputStream"); } + int bytesRead; try { - return inputStream_.read(buf, off, len); + bytesRead = inputStream_.read(buf, off, len); } catch (IOException iox) { throw new TTransportException(TTransportException.UNKNOWN, iox); } + if (bytesRead < 0) { + throw new TTransportException(TTransportException.END_OF_FILE); + } + return bytesRead; } /**