From: Sami Kerola Date: Sat, 8 Feb 2020 21:12:14 +0000 (+0000) Subject: write: fix potential string overflow X-Git-Tag: v2.35.2~11 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=62e978dbf7bec21888f8cb4f881d23389c8f9ed6;p=thirdparty%2Futil-linux.git write: fix potential string overflow 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 --- diff --git a/term-utils/write.c b/term-utils/write.c index 3436fbda20..90eb18c67f 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;