summaryrefslogtreecommitdiffstats
path: root/login-utils
diff options
context:
space:
mode:
authorPatrick Steinhardt2019-03-01 18:35:49 +0100
committerKarel Zak2019-03-04 11:38:28 +0100
commit72aa1db70c59e6bb43afc4315cef00db3ecfef84 (patch)
tree629ca9d2ebbcf27c04e2fcf2f59ae889a700b1fa /login-utils
parentlibmount: Recognize more fuse filesystems as pseudofs and netfs (diff)
downloadkernel-qcow2-util-linux-72aa1db70c59e6bb43afc4315cef00db3ecfef84.tar.gz
kernel-qcow2-util-linux-72aa1db70c59e6bb43afc4315cef00db3ecfef84.tar.xz
kernel-qcow2-util-linux-72aa1db70c59e6bb43afc4315cef00db3ecfef84.zip
last: do not use non-standard __UT_NAMESIZE
In commit b22332dd4 (last: fix wtmp user name buffer overflow [asan], 2019-01-13), we started to make sure that the `ut_user` field of the `utmpx` struct is always NUL-terminated. The implementation makes use of the `__UT_NAMESIZE` define to determine the position of the last character in that array. The problem is that this is a non-standard define that is not necessarily available on non-glibc platforms. As there is no standardized define, we should just use `sizeof`. This fixes compilation on musl libc based systems. Signed-off-by: Patrick Steinhardt <ps@pks.im>
Diffstat (limited to 'login-utils')
-rw-r--r--login-utils/last.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/login-utils/last.c b/login-utils/last.c
index be744b079..303adeacd 100644
--- a/login-utils/last.c
+++ b/login-utils/last.c
@@ -600,7 +600,7 @@ static int is_phantom(const struct last_control *ctl, struct utmpx *ut)
if (ut->ut_tv.tv_sec < ctl->boot_time.tv_sec)
return 1;
- ut->ut_user[__UT_NAMESIZE - 1] = '\0';
+ ut->ut_user[sizeof(ut->ut_user) - 1] = '\0';
pw = getpwnam(ut->ut_user);
if (!pw)
return 1;