From 829d3078000b29485814d668067cd37af556c59e Mon Sep 17 00:00:00 2001 From: pb Date: Fri, 31 May 2002 17:03:01 +0000 Subject: [PATCH] Fix integer overflow causing disk/partition size display wrapping above 4GB. --- usr.sbin/sade/disks.c | 6 +++--- usr.sbin/sysinstall/disks.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.sbin/sade/disks.c b/usr.sbin/sade/disks.c index bc36501f7d1..60091d37c39 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) diff --git a/usr.sbin/sysinstall/disks.c b/usr.sbin/sysinstall/disks.c index bc36501f7d1..60091d37c39 100644 --- a/usr.sbin/sysinstall/disks.c +++ b/usr.sbin/sysinstall/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) -- 2.45.2