diff options
| author | Kirk McKusick <mckusick@FreeBSD.org> | 2000-07-12 06:19:22 +0000 |
|---|---|---|
| committer | Kirk McKusick <mckusick@FreeBSD.org> | 2000-07-12 06:19:22 +0000 |
| commit | 7932349eff5a3dd7ab86d0c8ea1c59816f37e2b7 (patch) | |
| tree | 80daa05e54e4abb9e918fc0476323f872eea023a | |
| parent | 07632cbf66bcd6c2169f6457129553f8b0bf84c7 (diff) | |
Notes
| -rw-r--r-- | sbin/fsck/pass1.c | 6 | ||||
| -rw-r--r-- | sbin/fsck_ffs/pass1.c | 6 | ||||
| -rw-r--r-- | sbin/fsck_ifs/pass1.c | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/sbin/fsck/pass1.c b/sbin/fsck/pass1.c index 59826a7e2fc2..fcd596b9cc27 100644 --- a/sbin/fsck/pass1.c +++ b/sbin/fsck/pass1.c @@ -209,6 +209,12 @@ checkinode(inumber, idesc) dp->di_mode = IFREG|0600; inodirty(); } + if ((mode == IFBLK || mode == IFCHR || mode == IFIFO || + mode == IFSOCK) && dp->di_size != 0) { + if (debug) + printf("bad special-file size %qu:", dp->di_size); + goto unknown; + } ndb = howmany(dp->di_size, sblock.fs_bsize); if (ndb < 0) { if (debug) diff --git a/sbin/fsck_ffs/pass1.c b/sbin/fsck_ffs/pass1.c index 59826a7e2fc2..fcd596b9cc27 100644 --- a/sbin/fsck_ffs/pass1.c +++ b/sbin/fsck_ffs/pass1.c @@ -209,6 +209,12 @@ checkinode(inumber, idesc) dp->di_mode = IFREG|0600; inodirty(); } + if ((mode == IFBLK || mode == IFCHR || mode == IFIFO || + mode == IFSOCK) && dp->di_size != 0) { + if (debug) + printf("bad special-file size %qu:", dp->di_size); + goto unknown; + } ndb = howmany(dp->di_size, sblock.fs_bsize); if (ndb < 0) { if (debug) diff --git a/sbin/fsck_ifs/pass1.c b/sbin/fsck_ifs/pass1.c index 59826a7e2fc2..fcd596b9cc27 100644 --- a/sbin/fsck_ifs/pass1.c +++ b/sbin/fsck_ifs/pass1.c @@ -209,6 +209,12 @@ checkinode(inumber, idesc) dp->di_mode = IFREG|0600; inodirty(); } + if ((mode == IFBLK || mode == IFCHR || mode == IFIFO || + mode == IFSOCK) && dp->di_size != 0) { + if (debug) + printf("bad special-file size %qu:", dp->di_size); + goto unknown; + } ndb = howmany(dp->di_size, sblock.fs_bsize); if (ndb < 0) { if (debug) |
