diff --git a/src/tls_schannel.c b/src/tls_schannel.c index c1db394..0c49350 100644 --- a/src/tls_schannel.c +++ b/src/tls_schannel.c @@ -454,6 +454,12 @@ int tls_read(tls_t *tls, void * const buff, const size_t len) /* next, top up our recv buffer */ bytes = sock_read(tls->sock, tls->recvbuffer + tls->recvbufferpos, tls->recvbuffermaxlen - tls->recvbufferpos); + + if (bytes == 0) + { + tls->lasterror = WSAETIMEDOUT; + return -1; + } if (bytes == -1) { if (!tls_is_recoverable(sock_error())) {