svn commit: r367751 - stable/12/sbin/fsck_ffs
Kirk McKusick
mckusick at FreeBSD.org
Tue Nov 17 06:04:17 UTC 2020
Author: mckusick
Date: Tue Nov 17 06:04:16 2020
New Revision: 367751
URL: https://svnweb.freebsd.org/changeset/base/367751
Log:
MFC of 367045.
Avoid improper sign extension in Pass5 inumber checks.
Sponsored by: Netflix
Modified:
stable/12/sbin/fsck_ffs/pass5.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sbin/fsck_ffs/pass5.c
==============================================================================
--- stable/12/sbin/fsck_ffs/pass5.c Tue Nov 17 05:59:55 2020 (r367750)
+++ stable/12/sbin/fsck_ffs/pass5.c Tue Nov 17 06:04:16 2020 (r367751)
@@ -63,6 +63,7 @@ pass5(void)
struct fs *fs = &sblock;
ufs2_daddr_t d, dbase, dmax, start;
int rewritecg = 0;
+ ino_t inum;
struct csum *cs;
struct csum_total cstotal;
struct inodesc idesc[3];
@@ -236,9 +237,9 @@ pass5(void)
}
memset(&newcg->cg_frsum[0], 0, sizeof newcg->cg_frsum);
memset(cg_inosused(newcg), 0, (size_t)(mapsize));
- j = fs->fs_ipg * c;
- for (i = 0; i < inostathead[c].il_numalloced; j++, i++) {
- switch (inoinfo(j)->ino_state) {
+ inum = fs->fs_ipg * c;
+ for (i = 0; i < inostathead[c].il_numalloced; inum++, i++) {
+ switch (inoinfo(inum)->ino_state) {
case USTATE:
break;
@@ -258,10 +259,10 @@ pass5(void)
break;
default:
- if (j < (int)UFS_ROOTINO)
+ if (inum < UFS_ROOTINO)
break;
- errx(EEXIT, "BAD STATE %d FOR INODE I=%d",
- inoinfo(j)->ino_state, j);
+ errx(EEXIT, "BAD STATE %d FOR INODE I=%ju",
+ inoinfo(inum)->ino_state, (uintmax_t)inum);
}
}
if (c == 0)
More information about the svn-src-stable
mailing list