From: Theodore Ts'o Date: Tue, 10 Aug 2021 19:36:46 +0000 (-0400) Subject: e2fsck: add maximum string length specifiers to fscanf format strings X-Git-Tag: v1.46.4~29 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=be85d6c380dec129f6a9a8553290145fcd4cdf7c;p=tools%2Fe2fsprogs.git e2fsck: add maximum string length specifiers to fscanf format strings 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 --- diff --git a/e2fsck/unix.c b/e2fsck/unix.c index c5f9e44..f267bae 100644 --- a/e2fsck/unix.c +++ b/e2fsck/unix.c @@ -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) {