commit | 4bbaeb4ffafb57ca8e7901995ae274b05be4572b | [log] [tgz] |
---|---|---|
author | mohammad1603 <mohammad.abomokh@arm.com> | Thu Feb 22 04:29:04 2018 -0800 |
committer | mohammad1603 <mohammad.abomokh@arm.com> | Thu Feb 22 05:04:48 2018 -0800 |
tree | f11268c28f46f306d818d39a97254c00037d97cc | |
parent | d76d8bc9a5383bed1d794846ebaf634327cb2414 [diff] [blame] |
Add guard to out_left to avoid negative values return error when f_send return a value greater than out_left
diff --git a/library/ssl_tls.c b/library/ssl_tls.c index 617dedb..1de5eaa 100644 --- a/library/ssl_tls.c +++ b/library/ssl_tls.c
@@ -2469,6 +2469,12 @@ if( ret <= 0 ) 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; }