Impact: Improve stability
In some case, sectors_to_size can return a 8 char long string like "1000
MiB". In such case, some buffer were corrupted.
This is now fixed by a size[9] instead of size[8].
int partition_offset,
int nb_partitions_seen)
{
- char size[8];
+ char size[9];
char *parttype;
int error = 0;
char error_buffer[MAX_DISK_ERRNO];
int i = drive - 0x80;
struct driveinfo *d = &hardware->disk_info[i];
char error_buffer[MAX_DISK_ERRNO];
- char disk_size[8];
+ char disk_size[9];
detect_disks(hardware);
if (!hardware->disk_info[i].cbios)
if (!hardware->disk_info[i].cbios)
continue; /* Invalid geometry */
struct driveinfo *d = &hardware->disk_info[i];
- char disk_size[8];
+ char disk_size[9];
if ((int) d->edd_params.sectors > 0)
sectors_to_size((int) d->edd_params.sectors, disk_size);
int partition_offset,
int nb_partitions_seen)
{
- char size[8];
+ char size[9];
char *parttype;
unsigned int start, end;
char buffer[SUBMENULEN+1];
int previous_size, size;
char previous_unit[3], unit[3]; // GB
- char size_iec[8]; // GiB
+ char size_iec[9]; // GiB
sectors_to_size_dec(previous_unit, &previous_size, unit, &size, d[disk_number].edd_params.sectors);
sectors_to_size(d[disk_number].edd_params.sectors, size_iec);