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:
@@ -454,6 +454,12 @@ int tls_read(tls_t *tls, void * const buff, const size_t len)
|
|||||||
/* next, top up our recv buffer */
|
/* next, top up our recv buffer */
|
||||||
bytes = sock_read(tls->sock, tls->recvbuffer + tls->recvbufferpos,
|
bytes = sock_read(tls->sock, tls->recvbuffer + tls->recvbufferpos,
|
||||||
tls->recvbuffermaxlen - tls->recvbufferpos);
|
tls->recvbuffermaxlen - tls->recvbufferpos);
|
||||||
|
|
||||||
|
if (bytes == 0)
|
||||||
|
{
|
||||||
|
tls->lasterror = WSAETIMEDOUT;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (bytes == -1) {
|
if (bytes == -1) {
|
||||||
if (!tls_is_recoverable(sock_error())) {
|
if (!tls_is_recoverable(sock_error())) {
|
||||||
|
|||||||
Reference in New Issue
Block a user