svn commit: r317249 - stable/11/sbin/fsck_ffs
Konstantin Belousov
kib at FreeBSD.org
Fri Apr 21 10:13:09 UTC 2017
Author: kib
Date: Fri Apr 21 10:13:07 2017
New Revision: 317249
URL: https://svnweb.freebsd.org/changeset/base/317249
Log:
MFC r316852:
In fsck_ffs pass1, prevent the inosused variable from wrapping.
PR: 218592
Modified:
stable/11/sbin/fsck_ffs/pass1.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sbin/fsck_ffs/pass1.c
==============================================================================
--- stable/11/sbin/fsck_ffs/pass1.c Fri Apr 21 10:11:08 2017 (r317248)
+++ stable/11/sbin/fsck_ffs/pass1.c Fri Apr 21 10:13:07 2017 (r317249)
@@ -133,9 +133,14 @@ pass1(void)
*/
if ((preen || inoopt) && usedsoftdep && !rebuildcg) {
cp = &cg_inosused(cgp)[(inosused - 1) / CHAR_BIT];
- for ( ; inosused > 0; inosused -= CHAR_BIT, cp--) {
- if (*cp == 0)
+ for ( ; inosused != 0; cp--) {
+ if (*cp == 0) {
+ if (inosused > CHAR_BIT)
+ inosused -= CHAR_BIT;
+ else
+ inosused = 0;
continue;
+ }
for (i = 1 << (CHAR_BIT - 1); i > 0; i >>= 1) {
if (*cp & i)
break;
@@ -143,8 +148,6 @@ pass1(void)
}
break;
}
- if (inosused < 0)
- inosused = 0;
}
/*
* Allocate inoinfo structures for the allocated inodes.
More information about the svn-src-stable-11
mailing list