BIO_write and BIO_read could, in theory, return -2.
diff --git a/ssl/ssltest.c b/ssl/ssltest.c
index 23664a6..f9c9697 100644
--- a/ssl/ssltest.c
+++ b/ssl/ssltest.c
@@ -519,7 +519,7 @@
 				else
 					i = (int)cw_num;
 				r = BIO_write(c_ssl_bio, cbuf, i);
-				if (r == -1)
+				if (r < 0)
 					{
 					if (!BIO_should_retry(c_ssl_bio))
 						{
@@ -592,7 +592,7 @@
 				else
 					i = (int)sw_num;
 				r = BIO_write(s_ssl_bio, sbuf, i);
-				if (r == -1)
+				if (r < 0)
 					{
 					if (!BIO_should_retry(s_ssl_bio))
 						{