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:
@ -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" ) );
|
||||
|
Reference in New Issue
Block a user