X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/80a00278ab3eff1f2f14fe1ec76019cbf5277c72..7a1fc31152b4ad720c44f10b7f8da5111e9c45ee:/usr/src/cmd/icheck.c diff --git a/usr/src/cmd/icheck.c b/usr/src/cmd/icheck.c index b4883900d0..6c1b632af0 100644 --- a/usr/src/cmd/icheck.c +++ b/usr/src/cmd/icheck.c @@ -128,12 +128,12 @@ char *file; sync(); #endif bread((daddr_t)1, (char *)&sblock, sizeof(sblock)); - mino = (sblock.s_isize-2) * INOPB; + mino = ((int)sblock.s_isize-2) * INOPB; ino = 0; - n = (sblock.s_fsize - sblock.s_isize + BITS-1) / BITS; + n = (sblock.s_fsize - (int)sblock.s_isize + BITS-1) / BITS; if (n != (unsigned)n) { printf("Check fsize and isize: %ld, %u\n", - sblock.s_fsize, sblock.s_isize); + sblock.s_fsize, (int)sblock.s_isize); } #ifdef STANDALONE bmap = NULL; @@ -205,7 +205,7 @@ char *file; #endif if(!dflg) { n = 0; - for(d=sblock.s_isize; d=sblock.s_fsize) { + if (bno<(int)sblock.s_isize || bno>=sblock.s_fsize) { printf("%ld bad; inode=%u, class=%s\n", bno, ino, s); return(1); } @@ -320,7 +320,7 @@ daddr_t bno; if(dflg) return(0); - d = bno - sblock.s_isize; + d = bno - (int)sblock.s_isize; m = 1 << (d%BITS); n = (d/BITS); if(bmap[n] & m) @@ -463,7 +463,7 @@ makefree() for(; d > 0; d -= sblock.s_n) for(i=0; i= sblock.s_isize) + if(f < sblock.s_fsize && f >= (int)sblock.s_isize) if(!duped(f)) bfree(f); }