On 30.01.2011 18:42, Boyd Stephen Smith Jr. wrote: > error: superfluous RAID member (2 found). > error: superfluous RAID member (5 found). > error: superfluous RAID member (2 found). > error: superfluous RAID member (2 found Please try the attached patch
-- Regards Vladimir 'φ-coder/phcoder' Serbinenko
=== modified file 'grub-core/disk/mdraid1x_linux.c'
--- grub-core/disk/mdraid1x_linux.c 2011-03-29 09:51:58 +0000
+++ grub-core/disk/mdraid1x_linux.c 2011-04-03 20:26:44 +0000
@@ -200,11 +200,14 @@
if (grub_le_to_cpu32 (real_sb->dev_number) >=
grub_le_to_cpu32 (real_sb->max_dev))
- return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+ return grub_error (GRUB_ERR_OUT_OF_RANGE,
"spares aren't implemented");
array->index = grub_le_to_cpu16
(real_sb->dev_roles[grub_le_to_cpu32 (real_sb->dev_number)]);
+ if (array->index >= array->total_devs)
+ return grub_error (GRUB_ERR_OUT_OF_RANGE,
+ "spares aren't implemented");
array->uuid_len = 16;
array->uuid = grub_malloc (16);
if (!array->uuid)
=== modified file 'grub-core/disk/mdraid_linux.c'
--- grub-core/disk/mdraid_linux.c 2011-01-07 15:17:24 +0000
+++ grub-core/disk/mdraid_linux.c 2011-04-03 20:26:54 +0000
@@ -202,7 +202,7 @@
"unsupported RAID level: %d", level);
if (grub_le_to_cpu32 (sb.this_disk.number) == 0xffff
|| grub_le_to_cpu32 (sb.this_disk.number) == 0xfffe)
- return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+ return grub_error (GRUB_ERR_OUT_OF_RANGE,
"spares aren't implemented");
array->name = NULL;
signature.asc
Description: OpenPGP digital signature

