mirror of
https://git.proxmox.com/git/systemd
synced 2026-02-05 01:54:37 +00:00
utmp-wtmp: don't try to read past end of string
systemd-199/src/shared/utmp-wtmp.c:228: buffer_size_warning: Calling strncpy with a maximum size argument of 32 bytes on destination array "store.ut_line" of size 32 bytes might leave the destination string unterminated. The destination string is unterminated on purpose, but we must remember that.
This commit is contained in:
parent
c8c9c69f39
commit
2688887653
@ -403,10 +403,12 @@ int utmp_wall(const char *message, bool (*match_tty)(const char *tty)) {
|
||||
if (u->ut_type != USER_PROCESS || u->ut_user[0] == 0)
|
||||
continue;
|
||||
|
||||
/* this access is fine, because strlen("/dev/") << 32 (UT_LINESIZE) */
|
||||
if (path_startswith(u->ut_line, "/dev/"))
|
||||
path = u->ut_line;
|
||||
else {
|
||||
if (asprintf(&buf, "/dev/%s", u->ut_line) < 0) {
|
||||
if (asprintf(&buf, "/dev/%.*s",
|
||||
sizeof(u->ut_line), u->ut_line) < 0) {
|
||||
r = -ENOMEM;
|
||||
goto finish;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user