Earlier if the tty path was exactly length of the maximum ut_line then last
character of the path was overwrote by \0. This is in practise theoretical
bug, as it is unheard that a tty device path could be 32 characters long.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
#include "carefulputc.h"
#include "closestream.h"
#include "nls.h"
+#include "strutils.h"
#include "xalloc.h"
static void __attribute__ ((__noreturn__)) usage(FILE * out)
memcpy(&u, uptr, sizeof(u));
if (strncmp(user, u.ut_user, sizeof(u.ut_user)) == 0) {
++nloggedttys;
- strncpy(atty, u.ut_line, sizeof(u.ut_line));
- atty[sizeof(u.ut_line)] = '\0';
+ xstrncpy(atty, u.ut_line, sizeof(atty));
if (term_chk(atty, &msgsok, &atime, 0))
/* bad term? skip */
continue;