aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2022-10-24 21:34:15 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2022-10-27 03:17:38 +0000
commit017367c1146a69baca6a1a0bea10b0cb02c72d85 (patch)
treef20ad86a49de10e5f7db7690aa71d0ecf8094a40 /sys/ufs
parentf7833196bd6ba9bfc060a41b353422b15d6aa95b (diff)
downloadsrc-017367c1146a69baca6a1a0bea10b0cb02c72d85.tar.gz
src-017367c1146a69baca6a1a0bea10b0cb02c72d85.zip
ffs validate_sblock(): avoid 32bit mul overflow
Reported by: soralx@cydem.org Tested by: pho Reviewed by: mckusick Sponsored by: The FreeBSD Foundation MFC after: 1 week
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_subr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c
index e804dfa3d330..b6b0be56fc73 100644
--- a/sys/ufs/ffs/ffs_subr.c
+++ b/sys/ufs/ffs/ffs_subr.c
@@ -546,8 +546,8 @@ validate_sblock(struct fs *fs, int flags)
* and ends in the data area of the same cylinder group.
*/
FCHK(fs->fs_size, <, 8 * fs->fs_frag, %jd);
- FCHK(fs->fs_size, <=, (fs->fs_ncg - 1) * fs->fs_fpg, %jd);
- FCHK(fs->fs_size, >, fs->fs_ncg * fs->fs_fpg, %jd);
+ FCHK(fs->fs_size, <=, ((int64_t)fs->fs_ncg - 1) * fs->fs_fpg, %jd);
+ FCHK(fs->fs_size, >, (int64_t)fs->fs_ncg * fs->fs_fpg, %jd);
/*
* If we are not requested to read in the csum data stop here
* as the correctness of the remaining values is only important