]> git.proxmox.com Git - grub2.git/commitdiff
* grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse chunks.
authorPeter Nelson <peterdn>
Sun, 7 Dec 2014 16:57:49 +0000 (17:57 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Sun, 7 Dec 2014 16:57:49 +0000 (17:57 +0100)
ChangeLog
grub-core/fs/ext2.c

index b23f0698d6249c4ff3d0efc6f04e199ff7512b4c..6f2924e4130a04648fc52f6fb0a12103f0b08923 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-07  Peter Nelson <peterdn>
+
+       * grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse
+       chunks.
+
 2014-12-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
        * util/grub-mkconfig_lib.in (version_test_gt): Remove redundant
index 5f7a2b9d5bd73a2fe72eaa066701ce2baad83669..217771d02386967a64409192d8cd5fa7410ef911 100644 (file)
@@ -484,6 +484,10 @@ grub_ext2_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
 
 indirect:
   do {
+    /* If the indirect block is zero, all child blocks are absent
+       (i.e. filled with zeros.) */
+    if (indir == 0)
+      return 0;
     if (grub_disk_read (data->disk,
                        ((grub_disk_addr_t) grub_le_to_cpu32 (indir))
                        << log2_blksz,