Whamcloud - gitweb
e2fsck: add maximum string length specifiers to fscanf format strings
authorTheodore Ts'o <tytso@mit.edu>
Tue, 10 Aug 2021 19:36:46 +0000 (15:36 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 10 Aug 2021 19:36:46 +0000 (15:36 -0400)
When parsing strings from /proc/apm and /proc/acpi/ac_adapter, add
string length limits to prevent possible buffer overruns.

Addresses-Coverty-Bug: 1297496
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
e2fsck/unix.c

index c5f9e44..f267bae 100644 (file)
@@ -304,7 +304,7 @@ static int is_on_batt(void)
        }
        f = fopen("/proc/apm", "r");
        if (f) {
-               if (fscanf(f, "%s %s %s %x", tmp, tmp, tmp, &acflag) != 4)
+               if (fscanf(f, "%79s %79s %79s %x", tmp, tmp, tmp, &acflag) != 4)
                        acflag = 1;
                fclose(f);
                return (acflag != 1);
@@ -320,7 +320,7 @@ static int is_on_batt(void)
                        f = fopen(fname, "r");
                        if (!f)
                                continue;
-                       if (fscanf(f, "%s %s", tmp2, tmp) != 2)
+                       if (fscanf(f, "%79s %79s", tmp2, tmp) != 2)
                                tmp[0] = 0;
                        fclose(f);
                        if (strncmp(tmp, "off-line", 8) == 0) {