Commit 3f4802a1 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

PR: 1949

Submitted by: David.Smith@cern.ch
Approved by: steve@openssl.org

When checking whether to flush the output BIO use BIO_CTRL_WPENDING instead
of BIO_CTRL_INFO. In most cases this will have no effect since the following
BIOs wont buffer. In the case of a following buffering BIO this will check
for any pending data in the whole chain and not just the single BIO.

See:
https://issues.apache.org/bugzilla/show_bug.cgi?id=46952
for a detailed analysis of this issue.
parent 9aecc3e5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -436,7 +436,7 @@ int ssl3_accept(SSL *s)
		
		case SSL3_ST_SW_FLUSH:
			/* number of bytes to be flushed */
			num1=BIO_ctrl(s->wbio,BIO_CTRL_INFO,0,NULL);
			num1=BIO_ctrl(s->wbio,BIO_CTRL_WPENDING,0,NULL);
			if (num1 > 0)
				{
				s->rwstate=SSL_WRITING;