summaryrefslogtreecommitdiff
path: root/sys/arch/luna88k
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2006-08-17 10:34:15 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2006-08-17 10:34:15 +0000
commit0bfd0c9eeee1887c39a87a77e1a487056fb215f8 (patch)
tree34470413c18db602c641504f1d7108493b6bce27 /sys/arch/luna88k
parentbcd9b3f43d803a9c3588c2d8944185e7c8f0a5ca (diff)
Check d_secpercyl in all readdisklable() functions, and have all of
them return 'invalid geometry' when d_secpercyl == 0. While there move the check to a consistant location (after the check of d_secperunit) and use a consistant idiom (i.e. some readdisklabel()'s have no 'done' label). prodded by thib@ after a bad macppc experience. ok deraadt@
Diffstat (limited to 'sys/arch/luna88k')
-rw-r--r--sys/arch/luna88k/luna88k/disksubr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/luna88k/luna88k/disksubr.c b/sys/arch/luna88k/luna88k/disksubr.c
index 7b2ef73d847..117170bb613 100644
--- a/sys/arch/luna88k/luna88k/disksubr.c
+++ b/sys/arch/luna88k/luna88k/disksubr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: disksubr.c,v 1.8 2006/06/11 14:08:36 krw Exp $ */
+/* $OpenBSD: disksubr.c,v 1.9 2006/08/17 10:34:14 krw Exp $ */
/* $NetBSD: disksubr.c,v 1.12 2002/02/19 17:09:44 wiz Exp $ */
/*
@@ -130,6 +130,8 @@ readdisklabel(dev, strat, lp, clp, spoofonly)
lp->d_secsize = DEV_BSIZE;
if (lp->d_secperunit == 0)
lp->d_secperunit = 0x1fffffff;
+ if (lp->d_secpercyl == 0)
+ return ("invalid geometry");
lp->d_npartitions = RAW_PART + 1;
for (i = 0; i < RAW_PART; i++) {
lp->d_partitions[i].p_size = 0;