diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2006-08-17 10:34:15 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2006-08-17 10:34:15 +0000 |
commit | 0bfd0c9eeee1887c39a87a77e1a487056fb215f8 (patch) | |
tree | 34470413c18db602c641504f1d7108493b6bce27 /sys/arch/amd64 | |
parent | bcd9b3f43d803a9c3588c2d8944185e7c8f0a5ca (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/amd64')
-rw-r--r-- | sys/arch/amd64/amd64/disksubr.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/arch/amd64/amd64/disksubr.c b/sys/arch/amd64/amd64/disksubr.c index f8d53f28a50..6a614a1073d 100644 --- a/sys/arch/amd64/amd64/disksubr.c +++ b/sys/arch/amd64/amd64/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.10 2006/08/11 21:32:39 krw Exp $ */ +/* $OpenBSD: disksubr.c,v 1.11 2006/08/17 10:34:14 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -78,10 +78,8 @@ readdisklabel(dev, strat, lp, osdep, spoofonly) /* minimal requirements for archetypal disk label */ if (lp->d_secsize < DEV_BSIZE) lp->d_secsize = DEV_BSIZE; - if (lp->d_secpercyl == 0) { - msg = "invalid geometry"; - goto done; - } + if (lp->d_secpercyl == 0) + return ("invalid geometry"); if (lp->d_secperunit == 0) lp->d_secperunit = 0x1fffffff; lp->d_npartitions = RAW_PART + 1; |