diff --git a/ChangeLog b/ChangeLog
index a0780ab..4b1e410 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-23 Vladimir Serbinenko
+
+ * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
+ before calling BIOS
+
2009-07-21 Vladimir Serbinenko
UUID support for UFS
diff --git a/kern/i386/pc/mmap.c b/kern/i386/pc/mmap.c
index 52d8fd5..72a6b35 100644
--- a/kern/i386/pc/mmap.c
+++ b/kern/i386/pc/mmap.c
@@ -20,6 +20,7 @@
#include
#include
#include
+#include
grub_err_t
grub_machine_mmap_iterate (int NESTED_FUNC_ATTR (*hook) (grub_uint64_t, grub_uint64_t, grub_uint32_t))
@@ -28,6 +29,8 @@ grub_machine_mmap_iterate (int NESTED_FUNC_ATTR (*hook) (grub_uint64_t, grub_uin
struct grub_machine_mmap_entry *entry
= (struct grub_machine_mmap_entry *) GRUB_MEMORY_MACHINE_SCRATCH_ADDR;
+ grub_memset (entry, 0, sizeof (entry));
+
/* Check if grub_get_mmap_entry works. */
cont = grub_get_mmap_entry (entry, 0);
@@ -43,6 +46,8 @@ grub_machine_mmap_iterate (int NESTED_FUNC_ATTR (*hook) (grub_uint64_t, grub_uin
if (! cont)
break;
+ grub_memset (entry, 0, sizeof (entry));
+
cont = grub_get_mmap_entry (entry, cont);
}
while (entry->size);