summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sade
diff options
context:
space:
mode:
authorpb <pb@FreeBSD.org>2002-05-31 17:03:01 +0000
committerpb <pb@FreeBSD.org>2002-05-31 17:03:01 +0000
commit829d3078000b29485814d668067cd37af556c59e (patch)
treeaf75b804cf5a741e830137660ea2561f73b37f67 /usr.sbin/sade
parentad1dca67b1e62aa65433838124111c586709a980 (diff)
downloadFreeBSD-src-829d3078000b29485814d668067cd37af556c59e.zip
FreeBSD-src-829d3078000b29485814d668067cd37af556c59e.tar.gz
Fix integer overflow causing disk/partition size display wrapping
above 4GB.
Diffstat (limited to 'usr.sbin/sade')
-rw-r--r--usr.sbin/sade/disks.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/sade/disks.c b/usr.sbin/sade/disks.c
index bc36501..60091d3 100644
--- a/usr.sbin/sade/disks.c
+++ b/usr.sbin/sade/disks.c
@@ -121,7 +121,7 @@ print_chunks(Disk *d, int u)
"DISK Geometry:\t%lu cyls/%lu heads/%lu sectors = %lu sectors (%luMB)",
d->bios_cyl, d->bios_hd, d->bios_sect,
d->bios_cyl * d->bios_hd * d->bios_sect,
- d->bios_cyl * d->bios_hd * d->bios_sect * 512 / 1024 / 1024);
+ d->bios_cyl * d->bios_hd * d->bios_sect / (1024/512) / 1024);
mvprintw(3, 0, "%6s %10s(%s) %10s %8s %6s %10s %8s %8s",
"Offset", "Size", szstr, "End", "Name", "PType", "Desc",
"Subtype", "Flags");
@@ -132,10 +132,10 @@ print_chunks(Disk *d, int u)
sz = chunk_info[i]->size;
break;
case UNIT_KILO:
- sz = chunk_info[i]->size * 512 / 1024;
+ sz = chunk_info[i]->size / (1024/512);
break;
case UNIT_MEG:
- sz = chunk_info[i]->size * 512 / 1024 / 1024;
+ sz = chunk_info[i]->size / (1024/512) / 1024;
break;
}
if (i == current_chunk)
OpenPOWER on IntegriCloud