Fixed bug on sock_read. It returns 0 when an error reading occurs, and this situation was not being controlled.

This commit is contained in:
Luis Angel Curiel Sanz
2013-04-19 08:39:59 +02:00
parent 6a5e1ac969
commit b41732ada7

View File

@@ -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())) {