Fix equivalent of PR/26917 - this code was stolen from fdisk.

(similtaneus eqns to determine bios geometry from mbr entries could divide
by zero)
This commit is contained in:
dsl 2004-10-20 19:36:23 +00:00
parent ebb5de8b8b
commit 5f64a0e24d

View File

@ -1,4 +1,4 @@
/* $NetBSD: mbr.c,v 1.65 2004/10/16 13:20:11 dsl Exp $ */
/* $NetBSD: mbr.c,v 1.66 2004/10/20 19:36:23 dsl Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@ -1689,10 +1689,10 @@ guess_biosgeom_from_mbr(mbr_info_t *mbri, int *cyl, int *head, int *sec)
for (i = 0; i < MBR_PART_COUNT * 2 - 1; i++) {
if (get_mapping(parts, i, &c1, &h1, &s1, &a1) < 0)
continue;
a1 -= s1;
for (j = i + 1; j < MBR_PART_COUNT * 2; j++) {
if (get_mapping(parts, j, &c2, &h2, &s2, &a2) < 0)
continue;
a1 -= s1;
a2 -= s2;
num = (uint64_t)h1 * a2 - (quad_t)h2 * a1;
denom = (uint64_t)c2 * a1 - (quad_t)c1 * a2;