diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2022-10-24 21:34:15 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2022-10-27 03:17:38 +0000 |
commit | 017367c1146a69baca6a1a0bea10b0cb02c72d85 (patch) | |
tree | f20ad86a49de10e5f7db7690aa71d0ecf8094a40 /sys/ufs | |
parent | f7833196bd6ba9bfc060a41b353422b15d6aa95b (diff) | |
download | src-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.c | 4 |
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 |