mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-29 11:41:15 +03:00
Fix issue with non-blocking I/O & record splitting
This commit is contained in:
@ -4846,19 +4846,16 @@ int ssl_write( ssl_context *ssl, const unsigned char *buf, size_t len )
|
||||
return( ssl_write_real( ssl, buf, len ) );
|
||||
}
|
||||
|
||||
if( ssl->split_done != 1 )
|
||||
if( ssl->split_done == 0 )
|
||||
{
|
||||
ssl->split_done = 1;
|
||||
if( ( ret = ssl_write_real( ssl, buf, 1 ) ) < 0 )
|
||||
if( ( ret = ssl_write_real( ssl, buf, 1 ) ) <= 0 )
|
||||
return( ret );
|
||||
ssl->split_done = 1;
|
||||
}
|
||||
|
||||
if( ssl->split_done == 1 )
|
||||
{
|
||||
ssl->split_done = 0;
|
||||
if( ( ret = ssl_write_real( ssl, buf + 1, len - 1 ) ) < 0 )
|
||||
return( ret );
|
||||
}
|
||||
if( ( ret = ssl_write_real( ssl, buf + 1, len - 1 ) ) <= 0 )
|
||||
return( ret );
|
||||
ssl->split_done = 0;
|
||||
|
||||
return( ret + 1 );
|
||||
}
|
||||
|
Reference in New Issue
Block a user