From: Bodo Möller Date: Thu, 14 Mar 2002 09:48:54 +0000 (+0000) Subject: use BIO_nwrite() more properly to demonstrate the general idea of X-Git-Tag: OpenSSL_0_9_6d~20^2~78 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=234c73767daf1dfadbdbff3f884d7cfffff2846c use BIO_nwrite() more properly to demonstrate the general idea of BIO_nwrite0/BIO_nwrite (the previous code was OK for BIO pairs but not in general) --- diff --git a/ssl/ssltest.c b/ssl/ssltest.c index 2ef9ae7601..f98202945e 100644 --- a/ssl/ssltest.c +++ b/ssl/ssltest.c @@ -1053,10 +1053,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 < num) + num = r; r = BIO_read(io2, dataptr, (int)num); if (r != (int)num) /* can't happen */ { @@ -1065,6 +1065,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) ?