From: Mike Giancola Date: Wed, 22 May 2013 21:42:33 +0000 (+0200) Subject: ossl_recv: SSL_read() returning 0 is an error too X-Git-Tag: curl-7_31_0~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=520833cbe1601feed1c6473bd28c4c894e7ee63e;p=curl ossl_recv: SSL_read() returning 0 is an error too SSL_read can return 0 for "not successful", according to the open SSL documentation: http://www.openssl.org/docs/ssl/SSL_read.html --- diff --git a/lib/ssluse.c b/lib/ssluse.c index 80fa11957..36c38042a 100644 --- a/lib/ssluse.c +++ b/lib/ssluse.c @@ -2595,7 +2595,7 @@ static ssize_t ossl_recv(struct connectdata *conn, /* connection data */ buffsize = (buffersize > (size_t)INT_MAX) ? INT_MAX : (int)buffersize; nread = (ssize_t)SSL_read(conn->ssl[num].handle, buf, buffsize); - if(nread < 0) { + if(nread <= 0) { /* failed SSL_read */ int err = SSL_get_error(conn->ssl[num].handle, (int)nread);