Index: grub/stage2/fsys_ext2fs.c
diff -u grub/stage2/fsys_ext2fs.c:1.13 grub/stage2/fsys_ext2fs.c:1.14
--- grub/stage2/fsys_ext2fs.c:1.13 Tue Dec 30 12:36:13 2003
+++ grub/stage2/fsys_ext2fs.c Sat Aug 7 06:48:58 2004
@@ -432,12 +432,16 @@
if (size > len)
size = len;
- disk_read_func = disk_read_hook;
+ if (map == 0) {
+ memset ((char *) buf, 0, size);
+ } else {
+ disk_read_func = disk_read_hook;
- devread (map * (EXT2_BLOCK_SIZE (SUPERBLOCK) / DEV_BSIZE),
- offset, size, buf);
+ devread (map * (EXT2_BLOCK_SIZE (SUPERBLOCK) / DEV_BSIZE),
+ offset, size, buf);
- disk_read_func = NULL;
+ disk_read_func = NULL;
+ }
buf += size;
len -= size;