]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
authorVladimir Serbinenko <phcoder@gmail.com>
Tue, 20 Jan 2015 14:09:42 +0000 (15:09 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Wed, 21 Jan 2015 16:42:11 +0000 (17:42 +0100)
validity.

ChangeLog
grub-core/disk/ieee1275/nand.c

index 8661726df7fd2d6911849934f4edb54881dc6cd0..bdd5697abb7ecf908e149163458513b064b2046a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
+       validity.
+
 2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Do not
index 576e9ccc44c9f3a86c9866774a5596e84fd8311a..feffa8c4c75bd9a220bd606f00c05a007f3b36b5 100644 (file)
@@ -113,6 +113,11 @@ grub_nand_open (const char *name, grub_disk_t disk)
     }
 
   data->block_size = (args.size1 >> GRUB_DISK_SECTOR_BITS);
+  if (!data->block_size)
+    {
+      grub_error (GRUB_ERR_UNKNOWN_DEVICE, "invalid block size");
+      goto fail;
+    }
 
   INIT_IEEE1275_COMMON (&args.common, "call-method", 2, 3);
   args.method = (grub_ieee1275_cell_t) "size";