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>
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index 4b1b6df..2b4d8e1 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -3464,7 +3464,7 @@
do
{
int terminated = 0;
- len = opt.buffer_size - 1;
+ len = opt.buffer_size;
memset( buf, 0, opt.buffer_size );
ret = mbedtls_ssl_read( &ssl, buf, len );
@@ -3565,7 +3565,7 @@
}
else /* Not stream, so datagram */
{
- len = opt.buffer_size - 1;
+ len = opt.buffer_size;
memset( buf, 0, opt.buffer_size );
do