Explorar o código

WinTLS: Fix potential infinite loop

Tatsuhiro Tsujikawa %!s(int64=10) %!d(string=hai) anos
pai
achega
925b5cec07
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      src/WinTLSSession.cc

+ 4 - 1
src/WinTLSSession.cc

@@ -250,7 +250,10 @@ int WinTLSSession::closeConnection()
   // Send remaining data.
   while (writeBuf_.size()) {
     int rv = writeData(nullptr, 0);
-    if (rv == TLS_ERR_WOULDBLOCK) {
+    if (rv == 0) {
+      break;
+    }
+    if (rv < 0) {
       return rv;
     }
   }