]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
agetty: cleanup code to copy to log strings
authorKarel Zak <kzak@redhat.com>
Wed, 3 Oct 2018 15:08:11 +0000 (17:08 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 3 Oct 2018 15:10:44 +0000 (17:10 +0200)
man utmp:
  String fields are terminated by a null byte ('\0') if they are shorter
  than the size of the field.

Signed-off-by: Karel Zak <kzak@redhat.com>
term-utils/agetty.c

index e22600e2858473f7a3fe319ed943c05ff14dbefd..97dc45bd3face4e64a4a6958a6063b1c1a4f2f72 100644 (file)
@@ -957,7 +957,7 @@ static void update_utmp(struct options *op)
                memset(&ut, 0, sizeof(ut));
                if (vcline && *vcline)
                        /* Standard virtual console devices */
-                       strncpy(ut.ut_id, vcline, sizeof(ut.ut_id));
+                       str2memcpy(ut.ut_id, vcline, sizeof(ut.ut_id));
                else {
                        size_t len = strlen(line);
                        char * ptr;
@@ -965,14 +965,14 @@ static void update_utmp(struct options *op)
                                ptr = line + len - sizeof(ut.ut_id);
                        else
                                ptr = line;
-                       strncpy(ut.ut_id, ptr, sizeof(ut.ut_id));
+                       str2memcpy(ut.ut_id, ptr, sizeof(ut.ut_id));
                }
        }
 
-       strncpy(ut.ut_user, "LOGIN", sizeof(ut.ut_user));
-       strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+       str2memcpy(ut.ut_user, "LOGIN", sizeof(ut.ut_user));
+       str2memcpy(ut.ut_line, line, sizeof(ut.ut_line));
        if (fakehost)
-               strncpy(ut.ut_host, fakehost, sizeof(ut.ut_host));
+               str2memcpy(ut.ut_host, fakehost, sizeof(ut.ut_host));
        time(&t);
        ut.ut_tv.tv_sec = t;
        ut.ut_type = LOGIN_PROCESS;