Index: sbin/fsck_ffs/inode.c =================================================================== --- sbin/fsck_ffs/inode.c +++ sbin/fsck_ffs/inode.c @@ -453,8 +453,10 @@ if (howmany(DIP(dp, di_size), sblock.fs_bsize) > UFS_NDADDR) blks = UFS_NDADDR + UFS_NIADDR; + else if (DIP(dp, di_size) > 0) + blks = howmany(DIP(dp, di_size), sblock.fs_bsize); else - blks = howmany(DIP(dp, di_size), sblock.fs_bsize); + blks = 1; inp = (struct inoinfo *) Malloc(sizeof(*inp) + (blks - 1) * sizeof(ufs2_daddr_t)); if (inp == NULL)