summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/ssl/ssltest.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/ssl/ssltest.c')
-rw-r--r--crypto/openssl/ssl/ssltest.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/crypto/openssl/ssl/ssltest.c b/crypto/openssl/ssl/ssltest.c
index 2ef8a50..5f91ed1 100644
--- a/crypto/openssl/ssl/ssltest.c
+++ b/crypto/openssl/ssl/ssltest.c
@@ -848,10 +848,10 @@ int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count,
if (num > 1)
--num; /* test restartability even more thoroughly */
- r = BIO_nwrite(io1, &dataptr, (int)num);
+ r = BIO_nwrite0(io1, &dataptr);
assert(r > 0);
- assert(r <= (int)num);
- num = r;
+ if (r < (int)num)
+ num = r;
r = BIO_read(io2, dataptr, (int)num);
if (r != (int)num) /* can't happen */
{
@@ -860,6 +860,13 @@ int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count,
goto err;
}
progress = 1;
+ r = BIO_nwrite(io1, &dataptr, (int)num);
+ if (r != (int)num) /* can't happen */
+ {
+ fprintf(stderr, "ERROR: BIO_nwrite() did not accept "
+ "BIO_nwrite0() bytes");
+ goto err;
+ }
if (debug)
printf((io2 == client_io) ?
OpenPOWER on IntegriCloud