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 b489654..40d1a45 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -3515,7 +3515,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 );
@@ -3616,7 +3616,7 @@
}
else /* Not stream, so datagram */
{
- len = opt.buffer_size - 1;
+ len = opt.buffer_size;
memset( buf, 0, opt.buffer_size );
do