git: c794d188222a - main - Fix snprintf truncation in telnet
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 21 Dec 2023 22:46:05 UTC
The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c794d188222a4d3414233ff9630d47eedc090fbe commit c794d188222a4d3414233ff9630d47eedc090fbe Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-21 22:35:17 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2023-12-21 22:45:52 +0000 Fix snprintf truncation in telnet Building telnet with clang 18 results in the following warning: contrib/telnet/telnet/telnet.c:231:5: error: 'snprintf' will always be truncated; specified size is 10, but format string expands to at least 11 [-Werror,-Wformat-truncation] 231 | snprintf(temp2, sizeof(temp2), "%c%c%c%c....%c%c", IAC, SB, TELOPT_COMPORT, | ^ The temp2 buffer is 10 chars, while the format string also consists of 10 chars. Therefore, snprintf(3) will truncate the last character, 'SE' (end sub negotation) in this case. Bump the buffer to 11 chars to avoid truncation. MFC after: 3 days --- contrib/telnet/telnet/telnet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/telnet/telnet/telnet.c b/contrib/telnet/telnet/telnet.c index a35ea40c4cd8..c936a85c9a23 100644 --- a/contrib/telnet/telnet/telnet.c +++ b/contrib/telnet/telnet/telnet.c @@ -206,7 +206,7 @@ unsigned char ComPortBaudRate[256]; void DoBaudRate(char *arg) { - char *temp, temp2[10]; + char *temp, temp2[11]; int i; uint32_t baudrate;