summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirk McKusick <mckusick@FreeBSD.org>2000-07-12 06:19:22 +0000
committerKirk McKusick <mckusick@FreeBSD.org>2000-07-12 06:19:22 +0000
commit7932349eff5a3dd7ab86d0c8ea1c59816f37e2b7 (patch)
tree80daa05e54e4abb9e918fc0476323f872eea023a
parent07632cbf66bcd6c2169f6457129553f8b0bf84c7 (diff)
Notes
-rw-r--r--sbin/fsck/pass1.c6
-rw-r--r--sbin/fsck_ffs/pass1.c6
-rw-r--r--sbin/fsck_ifs/pass1.c6
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)