]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
utmpdump: don't ignore sscanf() return code [coverity scan]
authorKarel Zak <kzak@redhat.com>
Mon, 29 Nov 2021 14:26:49 +0000 (15:26 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 29 Nov 2021 14:26:49 +0000 (15:26 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
login-utils/utmpdump.c

index 274f0d97aa0d9fd03e6f61ea952fb2e1d3622d7a..a0ff2b170d967c5d2286a433e3c8071b2d561721 100644 (file)
@@ -282,7 +282,12 @@ static void undump(FILE *in, FILE *out)
        while (fgets(linestart, 1023, in)) {
                line = linestart;
                memset(&ut, '\0', sizeof(ut));
-               sscanf(line, "[%hd] [%d] [%4c] ", &ut.ut_type, &ut.ut_pid, ut.ut_id);
+
+               if (sscanf(line, "[%hd] [%d] [%4c] ",
+                               &ut.ut_type, &ut.ut_pid, ut.ut_id) != 3) {
+                       warnx(_("parse error: %s"), line);
+                       continue;
+               }
 
                line += 19;
                line += gettok(line, ut.ut_user, sizeof(ut.ut_user), 1);