浏览代码

LibsslTLSSession: Treat 0 from readData as EOF

Tatsuhiro Tsujikawa 11 年之前
父节点
当前提交
83c78c497b
共有 1 个文件被更改,包括 10 次插入6 次删除
  1. 10 6
      src/LibsslTLSSession.cc

+ 10 - 6
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()