Backport 2.7:Add guard to out_left to avoid negative values

Add guard to out_left to avoid negative values
This commit is contained in:
mohammad1603 2018-02-22 04:29:04 -08:00
parent 3f9cff20d7
commit 6085c721d2
2 changed files with 8 additions and 0 deletions

View file

@ -33,6 +33,8 @@ Changes
* Fix typo in a comment ctr_drbg.c. Contributed by Paul Sokolovsky. * Fix typo in a comment ctr_drbg.c. Contributed by Paul Sokolovsky.
* MD functions deprecated in 2.7.0 are no longer inline, to provide * MD functions deprecated in 2.7.0 are no longer inline, to provide
a migration path for those depending on the library's ABI. a migration path for those depending on the library's ABI.
* Add guard to validate that out_left can not be negative. Raised by
samoconnor in #1245.
= mbed TLS 2.7.0 branch released 2018-02-03 = mbed TLS 2.7.0 branch released 2018-02-03

View file

@ -2481,6 +2481,12 @@ int mbedtls_ssl_flush_output( mbedtls_ssl_context *ssl )
if( ret <= 0 ) if( ret <= 0 )
return( ret ); return( ret );
if( (size_t)ret > ssl->out_left )
{
MBEDTLS_SSL_DEBUG_MSG( 1, ( "f_send returned value greater than out left size" ) );
return( MBEDTLS_ERR_SSL_INTERNAL_ERROR );
}
ssl->out_left -= ret; ssl->out_left -= ret;
} }