From be85d6c380dec129f6a9a8553290145fcd4cdf7c Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Tue, 10 Aug 2021 15:36:46 -0400 Subject: [PATCH] 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 --- e2fsck/unix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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) { -- 1.8.3.1