1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

- Undid fix for ssl_write that introduced a true bug when buffers are running full.

This commit is contained in:
Paul Bakker
2011-06-08 13:10:54 +00:00
parent 828acb2234
commit 887bd502d2
2 changed files with 18 additions and 11 deletions

View File

@ -2164,6 +2164,9 @@ int ssl_write( ssl_context *ssl, const unsigned char *buf, size_t len )
}
}
n = ( len < SSL_MAX_CONTENT_LEN )
? len : SSL_MAX_CONTENT_LEN;
if( ssl->out_left != 0 )
{
if( ( ret = ssl_flush_output( ssl ) ) != 0 )
@ -2172,18 +2175,17 @@ int ssl_write( ssl_context *ssl, const unsigned char *buf, size_t len )
return( ret );
}
}
n = ( len < SSL_MAX_CONTENT_LEN )
? len : SSL_MAX_CONTENT_LEN;
ssl->out_msglen = n;
ssl->out_msgtype = SSL_MSG_APPLICATION_DATA;
memcpy( ssl->out_msg, buf, n );
if( ( ret = ssl_write_record( ssl ) ) != 0 )
else
{
SSL_DEBUG_RET( 1, "ssl_write_record", ret );
return( ret );
ssl->out_msglen = n;
ssl->out_msgtype = SSL_MSG_APPLICATION_DATA;
memcpy( ssl->out_msg, buf, n );
if( ( ret = ssl_write_record( ssl ) ) != 0 )
{
SSL_DEBUG_RET( 1, "ssl_write_record", ret );
return( ret );
}
}
SSL_DEBUG_MSG( 2, ( "<= write" ) );