From 4200ad44fe782193a397bd0f0ab72283a6d25e89 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Tue, 20 Jan 2015 15:10:34 +0100 Subject: [PATCH] * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity. --- ChangeLog | 4 ++++ grub-core/disk/i386/pc/biosdisk.c | 5 +++++ 2 files changed, 9 insertions(+) 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; }