Commit 520833cb authored by Mike Giancola's avatar Mike Giancola Committed by Daniel Stenberg
Browse files

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
parent e58d9c87
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -2595,7 +2595,7 @@ static ssize_t ossl_recv(struct connectdata *conn, /* connection data */


  buffsize = (buffersize > (size_t)INT_MAX) ? INT_MAX : (int)buffersize;
  buffsize = (buffersize > (size_t)INT_MAX) ? INT_MAX : (int)buffersize;
  nread = (ssize_t)SSL_read(conn->ssl[num].handle, buf, buffsize);
  nread = (ssize_t)SSL_read(conn->ssl[num].handle, buf, buffsize);
  if(nread < 0) {
  if(nread <= 0) {
    /* failed SSL_read */
    /* failed SSL_read */
    int err = SSL_get_error(conn->ssl[num].handle, (int)nread);
    int err = SSL_get_error(conn->ssl[num].handle, (int)nread);