diff options
author | Patrick Steinhardt | 2019-03-01 18:35:49 +0100 |
---|---|---|
committer | Karel Zak | 2019-03-04 11:38:28 +0100 |
commit | 72aa1db70c59e6bb43afc4315cef00db3ecfef84 (patch) | |
tree | 629ca9d2ebbcf27c04e2fcf2f59ae889a700b1fa /login-utils/last.c | |
parent | libmount: Recognize more fuse filesystems as pseudofs and netfs (diff) | |
download | kernel-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/last.c')
-rw-r--r-- | login-utils/last.c | 2 |
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; |