From 83c78c497b9c6c02d5dc5f9314fc18d7e58578dd Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 10 Sep 2014 21:26:06 +0900 Subject: [PATCH] LibsslTLSSession: Treat 0 from readData as EOF --- src/LibsslTLSSession.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/LibsslTLSSession.cc b/src/LibsslTLSSession.cc index 311c52d2..9e973462 100644 --- a/src/LibsslTLSSession.cc +++ b/src/LibsslTLSSession.cc @@ -139,14 +139,18 @@ ssize_t OpenSSLTLSSession::readData(void* data, size_t len) if(rv_ <= 0) { if(wouldblock(ssl_, rv_)) { return TLS_ERR_WOULDBLOCK; - } else { - return TLS_ERR_ERROR; } - } else { - ssize_t ret = rv_; - rv_ = 1; - return ret; + + if(rv_ == 0) { + return 0; + } + + return TLS_ERR_ERROR; } + + ssize_t ret = rv_; + rv_ = 1; + return ret; } int OpenSSLTLSSession::handshake()