From: Vladimir Serbinenko Date: Tue, 20 Jan 2015 14:10:34 +0000 (+0100) Subject: * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity. X-Git-Tag: 2.02-beta3~571 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4200ad44fe782193a397bd0f0ab72283a6d25e89;p=thirdparty%2Fgrub.git * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity. --- diff --git a/ChangeLog b/ChangeLog index bdd5697ab..e8c1d6870 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2015-01-20 Vladimir Serbinenko + + * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity. + 2015-01-20 Vladimir Serbinenko * grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size diff --git a/grub-core/disk/i386/pc/biosdisk.c b/grub-core/disk/i386/pc/biosdisk.c index 6b2152591..26a4973ad 100644 --- a/grub-core/disk/i386/pc/biosdisk.c +++ b/grub-core/disk/i386/pc/biosdisk.c @@ -419,6 +419,11 @@ grub_biosdisk_open (const char *name, grub_disk_t disk) } } + if (data->sectors == 0) + data->sectors = 63; + if (data->heads == 0) + data->heads = 255; + if (! total_sectors) total_sectors = data->cylinders * data->heads * data->sectors; }