Module Name: src
Committed By: christos
Date: Thu Dec 4 01:41:37 UTC 2014
Modified Files:
src/sbin/fsck_ext2fs: setup.c
Log Message:
Instead of zerodivide, give a useful error message.
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sbin/fsck_ext2fs/setup.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sbin/fsck_ext2fs/setup.c
diff -u src/sbin/fsck_ext2fs/setup.c:1.31 src/sbin/fsck_ext2fs/setup.c:1.32
--- src/sbin/fsck_ext2fs/setup.c:1.31 Sat Jun 22 22:06:04 2013
+++ src/sbin/fsck_ext2fs/setup.c Wed Dec 3 20:41:37 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: setup.c,v 1.31 2013/06/23 02:06:04 dholland Exp $ */
+/* $NetBSD: setup.c,v 1.32 2014/12/04 01:41:37 christos Exp $ */
/*
* Copyright (c) 1980, 1986, 1993
@@ -58,7 +58,7 @@
#if 0
static char sccsid[] = "@(#)setup.c 8.5 (Berkeley) 11/23/94";
#else
-__RCSID("$NetBSD: setup.c,v 1.31 2013/06/23 02:06:04 dholland Exp $");
+__RCSID("$NetBSD: setup.c,v 1.32 2014/12/04 01:41:37 christos Exp $");
#endif
#endif /* not lint */
@@ -490,6 +490,10 @@ calcsb(const char *dev, int devfd, struc
fstypenames[pp->p_fstype] : "unknown");
return 0;
}
+ if (pp->p_fsize == 0) {
+ pfatal("%s: PARTITION SIZE IS 0\n", dev);
+ return 0;
+ }
memset(fs, 0, sizeof(struct m_ext2fs));
fs->e2fs_bsize = pp->p_fsize;
fs->e2fs.e2fs_log_bsize = pp->p_fsize / 1024;