42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
|
|
From cdf84bf65804873708b2b76551d64116123ac128 Mon Sep 17 00:00:00 2001
|
|||
|
|
From: Sami Kerola <kerolasa@iki.fi>
|
|||
|
|
Date: Sat, 8 Feb 2020 21:12:14 +0000
|
|||
|
|
Subject: [PATCH 038/389] write: fix potential string overflow
|
|||
|
|
MIME-Version: 1.0
|
|||
|
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|
|||
|
|
Noticed when compiled with gcc verion 9.2.1 20200130.
|
|||
|
|
|
|||
|
|
term-utils/write.c:182:7: warning: ‘strcmp’ argument 1 declared attribute
|
|||
|
|
‘nonstring’ [-Wstringop-overflow=]
|
|||
|
|
182 | if (strcmp(u->ut_line, ctl->src_tty_name) == 0) {
|
|||
|
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
In file included from /usr/include/utmpx.h:31,
|
|||
|
|
from term-utils/write.c:60:
|
|||
|
|
/usr/include/bits/utmpx.h:59:8: note: argument ‘ut_line’ declared here
|
|||
|
|
59 | char ut_line[__UT_LINESIZE]
|
|||
|
|
| ^~~~~~~
|
|||
|
|
|
|||
|
|
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
|
|||
|
|
---
|
|||
|
|
term-utils/write.c | 2 +-
|
|||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|||
|
|
|
|||
|
|
diff --git a/term-utils/write.c b/term-utils/write.c
|
|||
|
|
index 3436fbd..90eb18c 100644
|
|||
|
|
--- a/term-utils/write.c
|
|||
|
|
+++ b/term-utils/write.c
|
|||
|
|
@@ -179,7 +179,7 @@ static void search_utmp(struct write_control *ctl)
|
|||
|
|
if (ctl->src_uid && !tty_writeable)
|
|||
|
|
/* skip ttys with msgs off */
|
|||
|
|
continue;
|
|||
|
|
- if (strcmp(u->ut_line, ctl->src_tty_name) == 0) {
|
|||
|
|
+ if (memcmp(u->ut_line, ctl->src_tty_name, strlen(ctl->src_tty_name) + 1) == 0) {
|
|||
|
|
user_is_me = 1;
|
|||
|
|
/* don't write to yourself */
|
|||
|
|
continue;
|
|||
|
|
--
|
|||
|
|
1.8.3.1
|
|||
|
|
|