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