From 5dd9251f198d4b034cc9ba70506aef07cdd9e2bb Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 25 Sep 2013 11:45:59 +0200 Subject: [PATCH] libfdisk: fix possible floating point exception Signed-off-by: Karel Zak --- libfdisk/src/sun.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfdisk/src/sun.c b/libfdisk/src/sun.c index 41c156767a..5c38e8cca7 100644 --- a/libfdisk/src/sun.c +++ b/libfdisk/src/sun.c @@ -220,7 +220,10 @@ static int sun_create_disklabel(struct fdisk_context *cxt) sec_fac = cxt->sector_size / 512; #ifdef HDIO_GETGEO - if (!ioctl(cxt->dev_fd, HDIO_GETGEO, &geometry)) { + if (ioctl(cxt->dev_fd, HDIO_GETGEO, &geometry) == 0 + && geometry.heads + && geometry.sectors) { + cxt->geom.heads = geometry.heads; cxt->geom.sectors = geometry.sectors; if (res == 0) { -- 2.47.3