BSD 4_3_Tahoe release
[unix-history] / usr / src / etc / fsck / pass1.c
index 010a624..3b97c2b 100644 (file)
@@ -5,7 +5,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)pass1.c    5.3 (Berkeley) 5/13/86";
+static char sccsid[] = "@(#)pass1.c    5.4 (Berkeley) 4/9/87";
 #endif not lint
 
 #include <sys/param.h>
 #endif not lint
 
 #include <sys/param.h>
@@ -69,7 +69,8 @@ pass1()
                                continue;
                        }
                        lastino = inumber;
                                continue;
                        }
                        lastino = inumber;
-                       if (dp->di_size < 0) {
+                       if (dp->di_size < 0 ||
+                           dp->di_size + sblock.fs_bsize - 1 < 0) {
                                if (debug)
                                        printf("bad size %d:", dp->di_size);
                                goto unknown;
                                if (debug)
                                        printf("bad size %d:", dp->di_size);
                                goto unknown;