]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/disk/raid.c (insert_array): Don't add spurious members.
authorJeroen Dekkers <jeroen@dekkers.ch>
Sat, 25 Dec 2010 21:32:54 +0000 (22:32 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 25 Dec 2010 21:32:54 +0000 (22:32 +0100)
ChangeLog
grub-core/disk/raid.c

index 3a20e634687d429a9739ae101f531592df890f3f..249ec6bc61e005fb8cb2ea8d779896f7aafdb244 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-12-25  Jeroen Dekkers <jeroen@dekkers.ch>
+
+       * grub-core/disk/raid.c (insert_array): Don't add spurious members.
+
 2010-12-25  Shea Levy <shlevy>
 
        * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
index f1b67a8591b69d538f20e15c08ab55a7559dc008..edc2b195d7afc2b7c44b6bc48ead8c1d31c120c6 100644 (file)
@@ -522,14 +522,16 @@ insert_array (grub_disk_t disk, struct grub_raid_array *new_array,
           /* We found more members of the array than the array
              actually has according to its superblock.  This shouldn't
              happen normally.  */
-          grub_dprintf ("raid", "array->nr_devs > array->total_devs (%d)?!?",
-                       array->total_devs);
+          return grub_error (GRUB_ERR_BAD_DEVICE,
+                            "superfluous RAID member (%d found)",
+                            array->total_devs);
 
         if (array->members[new_array->index].device != NULL)
           /* We found multiple devices with the same number. Again,
              this shouldn't happen.  */
-          grub_dprintf ("raid", "Found two disks with the number %d?!?",
-                       new_array->number);
+         return grub_error (GRUB_ERR_BAD_DEVICE,
+                            "found two disks with the number %d",
+                            new_array->number);
 
         if (new_array->disk_size < array->disk_size)
           array->disk_size = new_array->disk_size;