diff options
author | pb <pb@FreeBSD.org> | 2002-05-31 17:03:01 +0000 |
---|---|---|
committer | pb <pb@FreeBSD.org> | 2002-05-31 17:03:01 +0000 |
commit | 829d3078000b29485814d668067cd37af556c59e (patch) | |
tree | af75b804cf5a741e830137660ea2561f73b37f67 /usr.sbin/sade | |
parent | ad1dca67b1e62aa65433838124111c586709a980 (diff) | |
download | FreeBSD-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.c | 6 |
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) |