mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-29 11:41:15 +03:00
Fix off-by-one in buffer_size usage
The added null byte was accounted for twice, once by taking opt.buffer_size+1 when allocating the buffer and once by taking opt.buffer-1 when filling the buffer. Make opt.buffer_size the size that is actually read, it's less confusing that way. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
@ -3515,7 +3515,7 @@ data_exchange:
|
|||||||
do
|
do
|
||||||
{
|
{
|
||||||
int terminated = 0;
|
int terminated = 0;
|
||||||
len = opt.buffer_size - 1;
|
len = opt.buffer_size;
|
||||||
memset( buf, 0, opt.buffer_size );
|
memset( buf, 0, opt.buffer_size );
|
||||||
ret = mbedtls_ssl_read( &ssl, buf, len );
|
ret = mbedtls_ssl_read( &ssl, buf, len );
|
||||||
|
|
||||||
@ -3616,7 +3616,7 @@ data_exchange:
|
|||||||
}
|
}
|
||||||
else /* Not stream, so datagram */
|
else /* Not stream, so datagram */
|
||||||
{
|
{
|
||||||
len = opt.buffer_size - 1;
|
len = opt.buffer_size;
|
||||||
memset( buf, 0, opt.buffer_size );
|
memset( buf, 0, opt.buffer_size );
|
||||||
|
|
||||||
do
|
do
|
||||||
|
Reference in New Issue
Block a user