From: Karel Zak Date: Wed, 15 Apr 2026 18:38:08 +0000 (+0200) Subject: libblkid: exfs: avoid 32-bit overflow in rextsize validation X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=f5353689c144e861ba6b88fced9d58eefbd72c26;p=thirdparty%2Futil-linux.git libblkid: exfs: avoid 32-bit overflow in rextsize validation Signed-off-by: Karel Zak --- diff --git a/libblkid/src/superblocks/exfs.c b/libblkid/src/superblocks/exfs.c index 0a169bdea..5192df6d1 100644 --- a/libblkid/src/superblocks/exfs.c +++ b/libblkid/src/superblocks/exfs.c @@ -146,8 +146,8 @@ static int exfs_verify_sb(const struct exfs_super_block *ondisk) sbp->sb_inodelog > EXFS_DINODE_MAX_LOG || sbp->sb_inodesize != (1 << sbp->sb_inodelog) || (sbp->sb_blocklog - sbp->sb_inodelog != sbp->sb_inopblog) || - (sbp->sb_rextsize * sbp->sb_blocksize > EXFS_MAX_RTEXTSIZE) || - (sbp->sb_rextsize * sbp->sb_blocksize < EXFS_MIN_RTEXTSIZE) || + ((uint64_t) sbp->sb_rextsize * sbp->sb_blocksize > EXFS_MAX_RTEXTSIZE) || + ((uint64_t) sbp->sb_rextsize * sbp->sb_blocksize < EXFS_MIN_RTEXTSIZE) || (sbp->sb_imax_pct > 100 /* zero sb_imax_pct is valid */) || sbp->sb_dblocks == 0 || sbp->sb_dblocks > EXFS_MAX_DBLOCKS(sbp) ||