From 520833cbe1601feed1c6473bd28c4c894e7ee63e Mon Sep 17 00:00:00 2001 From: Mike Giancola Date: Wed, 22 May 2013 23:42:33 +0200 Subject: [PATCH] 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 --- lib/ssluse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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);